Форум сайта python.su
0
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)
Офлайн
73
ни на каком! после первой итерации цикла и выполнения условия if ( а оно выполниться так как словарь пустой и первого же имени в нем нет) ваша переменная counts переопределяется в тип int и становиться числом 1 ! ну а дальше ошибка так как число не итерируемый объект и if name not in counts к нему не применимо.
Офлайн