奥,抱歉,你题目要的是返回 -1 或者 len。# -*- encoding: gbk -*-
def is_arithmetic_progression(prog):
_len = len(prog)
for i in range(0, _len - 2):
if prog[i+1] - prog[i] != prog[i+2] - prog[i+1]:
return -1
return _len
prog1 = [1,3,6,7,10,12]
prog2 = [1,2,3,4]
print is_arithmetic_progression(prog1)
print is_arithmetic_progression(prog2)
for i in range(0, len - 2) 就是 i 逐个取 0, 1, 2 ... len - 3 的值(len 是 list 的长度);
然后给定一个 list 我们不是可以通过下标 0, 1, 2 ... len - 1 来访问它的元素嘛;
但是我们在访问 list[i] 的时候就需要访问 list[i+1] 和 list[i+2] 了,所以遍历是 for i in range(0, len),那现在为了防止下标越界自然是 for i in range(0, len-2)