#python
#python
Вопрос:
Я новичок в 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([]))
При использовании цикла for в функции sum13(nums)
я указал range(1,len(nums))
, что индекс 1 не существует в пустом списке. Почему это происходит, no error: list index out of range
когда я использую функцию sum13(nums)
в пустом списке?
Ответ №1:
Потому что
>>> len([])
0
и
>>> range(1, 0)
[]
(или пустой range
объект в python3)
таким образом, цикл не выполняет никаких итераций, и доступ к nums[i]
никогда не выполняется.