SUM13编码蝙蝠练习

时间:2018-04-06 18:01:28

标签: python for-in-loop

我对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的新手,我正试图理解这一点,但我不明白。

1 个答案:

答案 0 :(得分:0)

您无法访问索引中等于或大于列表长度的列表。 if确切地检查了这一点。