### Задача 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))`