Генераторы и итераторы · 7 из 22
Счётчик над лентой
Над лентой висит счётчик смены: после каждого лотка он показывает, сколько килограммов хлеба выпечено с начала смены. Счётчик старый, памяти у него — на одно число. Всех лотков он не помнит и помнить не должен: только итог.
Что сделать
После каждого лотка отдавайте, сколько килограммов выпечено с начала смены, — храня только итог.
Что приходит
lotki— веса лотков по порядку: список или поток, который отдаёт их по одному
Что вернуть
Генератор: после каждого лотка — сумма весов всех лотков до него и его самого.
Допишите функцию vypecheno в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Ограничения
Без
sum— и своё имя так назвать нельзяБез метода
.append()
Обходные пути — тоже нарушение: eval, exec, getattr, имена с двойным подчёркиванием, импорт os, subprocess и им подобных.
list(vypecheno([12, 15, 9]))
[12, 27, 36]
Функция-генератор. Берёт лотки по одному и после каждого отдаёт сумму весов всех взятых до сих пор, включая этот.
Следующий лоток забирается, только когда спросили следующий итог: счётчик не заглядывает вперёд и не ждёт конца смены. Пустой поток — не отдаёт ничего. Веса целые.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.