Реализуйте функцию-генератор my_range, которая имитирует поведение встроенной функции range в Python. Функция должна поддерживать три варианта вызова:
my_range(stop) — генерирует последовательность чисел от 0 до (stop - 1) с шагом 1.my_range(start, stop) — генерирует последовательность чисел от start до (stop - 1) с шагом 1.my_range(start, stop, step) — генерирует последовательность чисел от start до (stop - 1) с шагом step.Функция должна корректно обрабатывать отрицательные значения step и выбрасывать исключение ValueError, если step равен 0.
Для проверки корректности работы функции, результат вызова my_range будет преобразовываться в список с помощью list().
Пример 1:
Входные данные: stop = 5
Выход: [0,1,2,3,4]
Пример 2:
Входные данные: start = 1, stop = 10, step = 2
Выход: [1,3,5,7,9]
Пример 3:
Входные данные: start = 10, stop = 1, step = -2
Выход: [10,8,6,4,2]
Требования:
yield).step равен 0, функция должна выбрасывать исключение ValueError.my_range должен иметь возможность преобразовываться в список для проверки.Примечания:
range.