Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 15, 2016 19:06:58

gratiani
Зарегистрирован: 2016-05-30
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Выход за границы списка

a = [int(i) for i in input().split()]
l = 1
for i in range(len(a)):
    if a[i] != a[i + 1]:
        l += 1
print(l)
Почему выдает ошибку в четвертой строке? Почему нарушены границы, если я в индексе прибавил единицу только?

Офлайн

#2 Июнь 15, 2016 19:18:01

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Выход за границы списка

допустим

a = [1, 2, 3, 4]
тогда длина а = 4,
range(len(a)) = [0, 1, 2, 3]
если i = 3, то i + 1 = 4  и a[i + 1] получается a[4]
- нет четвертого элемента у списка, есть 0, 1, 2 и 3.



Отредактировано FishHook (Июнь 15, 2016 19:18:33)

Офлайн

#3 Июнь 15, 2016 19:34:53

gratiani
Зарегистрирован: 2016-05-30
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Выход за границы списка

Разобрался, спасибо за помощь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version