Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 23, 2018 18:18:42

Mikhail911
Зарегистрирован: 2018-09-20
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

объясните новичку

counts = dict();
names = ‘mikhail’, ‘artur’, ‘stepan’, ‘mikhail’
for name in names:
if name not in counts:
counts = 1
else :
counts = counts + 1
print(counts)


Добрый день форумчане. Объясните не могу понять.
Почему пишется if name not counts ?
ведь counts у нас пустой и мы не добавляли в словарь ничего. На каком этапе происходит пополнение словаря counts ?

Отредактировано Mikhail911 (Окт. 23, 2018 18:20:29)

Офлайн

#2 Окт. 23, 2018 19:07:35

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

объясните новичку

ни на каком! после первой итерации цикла и выполнения условия if ( а оно выполниться так как словарь пустой и первого же имени в нем нет) ваша переменная counts переопределяется в тип int и становиться числом 1 ! ну а дальше ошибка так как число не итерируемый объект и if name not in counts к нему не применимо.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version