range
Функция range() возвращает объект, представляющий последовательность чисел от заданного начального значения до конечного (не включая его) с шагом.
Синтаксис
range(stop)
range(start, stop[, step])
Аргументы
- start (по умолчанию 0):
- Что означает: Начальное значение последовательности.
- Возможные значения: Целое число.
- stop:
- Что означает: Конечное значение последовательности (не включается).
- Возможные значения: Целое число.
- step (по умолчанию 1):
- Что означает: Шаг последовательности.
- Возможные значения: Целое число (положительное или отрицательное).
Возвращаемое значение
Возвращает объект range, представляющий последовательность чисел. Для преобразования в список можно использовать list(range(...)).
Примеры использования
print(list(range(5))) # Вывод: [0, 1, 2, 3, 4]
print(list(range(1, 6))) # Вывод: [1, 2, 3, 4, 5]
print(list(range(1, 10, 2))) # Вывод: [1, 3, 5, 7, 9]
print(list(range(10, 0, -2))) # Вывод: [10, 8, 6, 4, 2]
Эквивалентный код
def pyplanet_range(start, stop=None, step=1):
if stop is None:
start, stop = 0, start
if step == 0:
raise ValueError("step must not be zero")
while (start < stop and step > 0) or (start > stop and step < 0):
yield start
start += step
Частые ошибки
Указан step = 0:
print(list(range(1, 10, 0))) # Ошибка: ValueError
Как исправить: Убедитесь, что шаг не равен нулю.
Ожидание, что range() возвращает список:
print(range(5)) # Вывод: range(0, 5), а не [0, 1, 2, 3, 4]
Как исправить: Преобразуйте результат в список с помощью list().
Часто задаваемые вопросы
Что произойдет, если start > stop и step > 0?
Вернется пустая последовательность.
Можно ли использовать дробные числа?
Нет, аргументы должны быть целыми числами. Для работы с дробными числами используйте библиотеки, такие как numpy.