【发布时间】:2019-04-17 02:51:37
【问题描述】:
我试图返回数组中数字的总和,为空数组返回 0。除了数字 13 和 13 之后的数字之外,它不计算在内。
def sum13(nums):
p = 0
for i in range(len(nums)):
if nums[i] == 13 and nums[i + 1]:
continue
p += nums[i]
return p
当我运行它时,它给了我一个索引错误列表索引我们的范围,我做错了什么?
【问题讨论】:
-
当
i达到范围内的最大值时,我怀疑nums[i+1]的索引超出范围。 -
是的,如果
i已经在范围的末尾,i+1将超出范围。 -
是的,如果列表的最后一个元素是 13,那么您的代码将尝试访问最后一个 + 1 元素。我也不认为代码做你认为它做的事。
-
在下面查看我的答案,看看它是否对您有帮助!
标签: python python-3.x