Генераторы и итераторы · 13 из 16
Порциями по стольку-то
Буханки с ленты укладывают в лотки, в лоток входит поровну. Лоток уносят, как только он полон, — ждать конца смены никто не будет. Последний лоток уносят неполным, сколько в нём осталось, столько и осталось.
Что сделать
Укладывайте буханки с ленты в лотки и уносите каждый, как только он полон.
Что приходит
potok— поток значенийrazmer— сколько помещается в лоток, целое больше нуля
Что вернуть
Генератор: отдаёт списки по razmer значений подряд, как только список набрался; последний может быть короче.
Допишите функцию porciyami в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
list(porciyami([1, 2, 3, 4, 5], 2))
[[1, 2], [3, 4], [5]]
Функция принимает поток значений и размер порции (целое больше нуля). Отдаёт списки: в каждом — размер порции значений подряд, по порядку. Последний список может быть короче, если значения кончились раньше. На пустом потоке не отдаётся ничего. В памяти держится только одна порция, а не весь поток.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.