我对codebat.com Python练习的答案感到困惑。
问题如下:
返回数组中数字的总和,为空数组返回0。除了数字13是非常不吉利的,所以它不计算在13之后立即出现的数字也不计算。
sum13([1, 2, 2, 1]) → 6
sum13([1, 1]) → 2
sum13([1, 2, 2, 1, 13]) → 6
样本答案:
def sum13(nums):
if len(nums) == 0:
return 0
for i in range(0, len(nums)):
if nums[i] == 13:
nums[i] = 0
if i+1 < len(nums):
nums[i+1] = 0
return sum(nums)
我不明白这意味着什么&#34;如果i + 1&lt; LEN(NUMS)&#34;
据我所知,它与数组中的数字有关,该数字在13被计为0之后出现,但是i + 1究竟是什么比数组nums的len要小呢?
我是Python的新手,我正试图理解这一点,但我不明白。
答案 0 :(得分:0)
您无法访问索引中等于或大于列表长度的列表。 if
确切地检查了这一点。