问题

定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置,

即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。

解决(Python)

  1. #!/usr/bin/env python
  2. #coding:utf-8
  3. def ahead_one():
  4. a =[i for i in range(10)]
  5. b = a.pop(0)
  6. a.append(b)
  7. return a
  8. if __name__ =="__main__":
  9. print ahead_one()

解决(racket 5.2.1)

  1. #lang racket
  2. ;定义函数 ahead-one
  3. ;输入为一个整数列表int-list,假设其长度为 N
  4. ;输出为长度相同的整数列表,其第 N 位的元素为int-list 的第1位的元素,
  5. ;1~N-1位的元素为int-list 的第2~N 位的元素
  6. (define (ahead-one int-list)
  7. (append (rest int-list)(list (first int-list))))
  8. ;函数调用,正常运行时应输出'(2 3 4 5 6 7 8 9 10 1)
  9. (ahead-one (list 1 2 3 4 5 6 7 8 9 10))