我收到IndexError:列表索引超出范围错误。我不知道为什么。有什么建议吗?
该代码试图查看数字列表是否为算术级数,在这种情况下,每个数字都加2。
def is_arith_progession(num_list):
delta = num_list[1] - num_list[0]
for num in num_list:
if not (num_list[num + 1] - num_list[num] == delta):
return False
else:
return True
print(is_arith_progession([2, 4, 6, 8, 10]))
最佳答案
您正在遍历值,而不是数组的索引。因此,num_list[num]
可能超出范围。由于您引用了i+1
元素,因此迭代到i < n-1
for i, _ in enumerate(num_list[:-1]):
if num_list[i+1] - num_list[i]...
关于python - 为什么会超出范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52560212/