我正在处理codingbat问题,当排除的数字位于数组的末尾时,我得到了意外的结果。
def sum13(nums):
a = []
if len(nums) == 0:
return 0
for i in range(len(nums)):
if nums[i] == 13 or nums[i-1] == 13:
continue
a.append(nums[i])
return sum(a)
该代码应将数组中的所有数字附加到列表a上,并返回总和,但不包括数字13和紧随其后的数字的任何实例。对于大多数测试来说,它工作正常,但是当数组以13结尾时,它不会将索引0处的数字附加到列表中,从而返回错误的结果。
当i
为0时,nums[-1]
被评估。nums[-1]
是的最后一个元素nums
。这就是你的问题。
如果nums[-1]
为13,将continue
被执行,因此不会附加任何内容nums
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句