定义一个Python函数进程(l),它接受一个非空的整数列表l并返回 是:如果l中的整数形成算术级数 即,l的形式为[a,a + d,a + 2d,...,a + kd]。
>>> progression([3])
True
>>> progression([7,3,-1,-5])
True
>>> progression([3,5,7,9,10])
False
您可以将相邻数字配对,计算两个对之间的差异,并确定如果唯一差异的数量不大于1,则列表将形成算术级数:
from operator import sub
def progression(l):
return len(set(sub(*p) for p in zip(l, l[1:]))) <= 1
以便:
print(progression([3]))
print(progression([7,3,-1,-5]))
print(progression([3,5,7,9,10]))
输出:
True
True
False