我试图返回数组中数字的总和,为空数组返回 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
当我运行它时,它给了我一个索引错误列表索引我们的范围,我做错了什么?
问题在于nums[i+1]
,它超出了您的列表范围。这是另一个使用 while 的解决方案。
def sum13(nums):
p=0; i=0
while i < len(nums):
if nums[i]==13:
i = i + 2 #exclude the position after 13
continue
else:
p+=nums[i]
i=i+1
return p
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句