【发布时间】:2021-02-23 12:48:11
【问题描述】:
如果这个问题很愚蠢,我深表歉意,但如果当前项目等于下一个项目,我会尝试返回 True,否则返回 False:
def isSame(array):
for index, number in enumerate(array):
if number == array[index + 1]:
return True
return False
print(isSame([1, 3, 2, 6, 5, 3, 2]))
如果我这样调用函数,则返回 True 值:isSame([1, 3, 2, 6, 5, 3, 3])
但是当我这样调用它时:isSame([1, 3, 2, 6, 5, 3, 2]) 该函数不返回任何值。
【问题讨论】:
-
试试
if number == array[index - 1]: -
@PythonEnthusiast 非常感谢你,你能解释一下为什么
index - 1而不是index + 1 -
这是因为您当前的程序会根据下一个值检查最后一个值,而不是前一个值。如果您使用
index + 1,它将显示错误,因为数组中的最后一个值没有任何要检查的内容。这就是您收到错误list index out of range的原因。
标签: python python-3.x function