Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос знатокам Python

Artlant Ученик (227), на голосовании 8 месяцев назад
Я только учу Python и не понимаю пару моментов(вложенные циклы немного). Какой будет вывод в следующем коде и почему именно такой?

full = False
donations = [ ]
full_load = 45

toys = [ "робот", "кукла", "мяч", "волчонок" ]

while not full:
for toy in toys :
donations.append(toy)
size = len(donations)
if (size >= full_load):
full = True
print("Полон", len(donations),"игрушек")
print (donations)
Просьба написать с разъяснениями
Дополнен 9 месяцев назад
Там намудрено с отступами, но там внешний цикл while и внутренний for
Голосование за лучший ответ
Гениальный Гений Профи (694) 9 месяцев назад
вывод будет: Полон 4 игрушек
Ты перебераешь массив toys и каждый элемент добавляешь в массив donations, а т.к. в toys 4 элемента, то и в donations будут эти же 4 элемента
ArtlantУченик (227) 9 месяцев назад
неверно, явно не 4. Там условие есть, когда программа должна закончиться, читайте внимательнее
Гениальный Гений Профи (694) Artlant, Полон 48 игрушек ['робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок', 'робот', 'кукла', 'мяч', 'волчонок']. Такой вот вывод
ArtlantУченик (227) 9 месяцев назад
Там же идёт проверка с числом 45 на каждой итерации
Гениальный ГенийПрофи (694) 9 месяцев назад
когда цикл закончил 11 круг, size было равно 44, а значит full оставался false и цикл пошёл на 12 круг где добавил ещё 4 элемента 44+4=48
Artlant Ученик (227) Гениальный Гений, то есть на каждый цикл false приходится 4 добавления игрушек? То есть получается без разницы, что идёт проверка на больше ли 45 потому что это вложенный цикл? Если бы это был обычный цикл, то ответ остановился на 45?
Похожие вопросы