Files
Igor-kr/Final control/9/TASK.md
T
Dmitry Belan ee235ece10
CI Check / lint-and-check (push) Failing after 9s
feat: implement legacy shop management system and add task documentation files
2026-07-18 12:25:32 +03:00

24 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Задача 9. Генераторы и итераторы (Генераторы, yield, Итераторы)
Напишите программу с генераторами и кастомными итераторами:
1. `number_generator(start, end, step=1)` — генератор, который yield'ит числа от `start` до `end` с шагом `step`.
2. `fibonacci_generator(limit)` — генератор чисел Фибоначчи до `limit`. Используйте `yield` и цикл `while`.
3. **Класс `RangeIterator`:**
- В `__init__(self, start, end)` сохраните границы
- Метод `__iter__(self)` возвращает `self`
- Метод `__next__(self)` возвращает следующее число или поднимает `StopIteration`
4. `filter_even(generator)` — принимает генератор и возвращает новый генератор, который yield'ит только четные числа. Используйте `yield from` или цикл с `yield`.
**Тесты:**
1. Создайте генератор чисел от 1 до 20 с шагом 2
2. Выведите все значения через цикл `for`
3. Создайте генератор Фибоначчи до 100
4. Отфильтруйте только четные числа
5. Создайте `RangeIterator(5, 10)` и выведите все значения
6. Проверьте, что можно использовать в `list()`: `list(number_generator(1, 10))`