Ітератор зворотного відліку
Реалізуйте власний клас-ітератор Countdown
, який генерує числа у зворотному порядку — починаючи з вказаного цілого числа start
і закінчуючи нулем (включно).
Ваш клас має реалізовувати протокол ітератора: методи __iter__()
та __next__()
.
Приклад
>>> c = Countdown(5)
>>> for number in c:
... print(number)
5
4
3
2
1
0
>>> list(Countdown(3))
[3, 2, 1, 0]
>>> list(Countdown(0))
[0]
>>> list(Countdown(-3))
[]
Підказки щодо реалізації
- Зберігайте поточне значення у змінній екземпляра та зменшуйте його при кожній ітерації.
- Кидайте виняток
StopIteration
, коли значення стане менше нуля. - Можна передбачити захист від від'ємного початкового значення — ітерація одразу завершується.