我是 Python 的新手,只学习了一个星期,所以如果答案对你们这些有经验的人来说真的很明显,请原谅我。我写了一个简单的程序如下,但不明白为什么我没有得到“错误:列表索引超出范围”。
def sum13(nums):
sum=0
for i in range(1,len(nums)):
if nums[i]==13 or nums[i-1]==13:
sum=sum
else:
sum=sum+nums[i]
if len(nums)>=1:
if nums[0]==13:
sum=sum
else:
sum=sum+nums[0]
return sum
print(sum13([]))
在函数sum13(nums)中使用for循环时,我指定了range(1,len(nums)),索引1不存在一个空列表。为什么在空列表上使用函数 sum13(nums) 时,no error: list index out of range?
请您参考如下方法:
因为
>>> len([])
0
和
>>> range(1, 0)
[]
(或 python3 中的空 range 对象)
因此循环不执行任何迭代,并且永远不会执行对 nums[i] 的访问。
