如何在检查算术级数时编写python代码? [关闭]

问题描述 投票:-6回答:1

定义一个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
python
1个回答
1
投票

您可以将相邻数字配对,计算两个对之间的差异,并确定如果唯一差异的数量不大于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
© www.soinside.com 2019 - 2024. All rights reserved.