feat: implement legacy shop management system and add task documentation files
CI Check / lint-and-check (push) Failing after 9s

This commit is contained in:
Dmitry Belan
2026-07-18 12:25:32 +03:00
parent 7e8afd2a7e
commit ee235ece10
14 changed files with 953 additions and 1 deletions
+23
View File
@@ -0,0 +1,23 @@
### Задача 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))`