Генераторы и итераторы · 3 из 23
Тесто подходит
Тесто в деже подходит: за каждый час его становится вдвое больше. Сан Саныч записывает объём по часам, пока тесто не дойдёт до края, — дальше оно полезет через борт, и записывать будет поздно. Список на всю ночь ему не нужен: он смотрит на объём раз в час.
Что сделать
Напишите генератор: он выдаёт объём теста час за часом, вдвое больше каждый раз, пока тот не выше края.
Что приходит
nachalo— объём теста в начале, больше нуляkray— объём до края дежи
Что вернуть
Генератор, который выдаёт nachalo, 2 · nachalo, 4 · nachalo … — каждый объём, не больший kray.
Допишите функцию testo в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Начали с 3 литров, край — 20: генератор выдаст 3, 6 и 12; 24 уже через край.
list(testo(3, 20))
[3, 6, 12]
Функция — генератор: в ней yield, а не return списка. Первым выдаётся nachalo, каждое следующее — вдвое больше предыдущего. Выдаются все объёмы, не большие kray: ровно на краю — ещё можно. Если nachalo уже больше края, не выдаётся ничего.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.