Генераторы и итераторы · 1 из 19
Минуты до выхода
Перед выходом партии из печи табло над лентой считает минуты: «5, 4, 3, 2, 1» — и потом «Готово!». Тамара хочет, чтобы табло получало числа по одному, когда приходит их время, а не весь отсчёт разом заранее.
Что сделать
Напишите генератор обратного отсчёта: минуты от заданной до единицы, а последним — «Готово!».
Что приходит
minut— сколько минут осталось, целое, от 0
Что вернуть
Генератор: отдаёт по одному minut, minut − 1, … 1, а последним — строку "Готово!".
Допишите функцию do_vyhoda в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
list(do_vyhoda(3))
[3, 2, 1, 'Готово!']
Функция — генератор: в ней yield, а не return со списком. Каждое значение отдаётся отдельным yield.
При minut = 0 генератор сразу отдаёт «Готово!» — чисел нет. Ноль никогда не отдаётся.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.