我是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([]))
Run Code Online (Sandbox Code Playgroud)
在函数中使用for循环时sum13(nums)
,我指出range(1,len(nums))
,索引1不存在于空列表中.为什么no error: list index out of range
我sum13(nums)
在空列表中使用该功能?
因为
>>> len([])
0
Run Code Online (Sandbox Code Playgroud)
和
>>> range(1, 0)
[]
Run Code Online (Sandbox Code Playgroud)
(或range
python3中的空对象)
所以循环不执行任何迭代,并且nums[i]
永远不会执行访问.
归档时间: |
|
查看次数: |
56 次 |
最近记录: |