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

Частые ошибки

  1. Указан step = 0:

    print(list(range(1, 10, 0)))  # Ошибка: ValueError
    

    Как исправить: Убедитесь, что шаг не равен нулю.

  2. Ожидание, что range() возвращает список:

    print(range(5))  # Вывод: range(0, 5), а не [0, 1, 2, 3, 4]
    

    Как исправить: Преобразуйте результат в список с помощью list().

Часто задаваемые вопросы

  1. Что произойдет, если start > stop и step > 0?

    Вернется пустая последовательность.

  2. Можно ли использовать дробные числа?

    Нет, аргументы должны быть целыми числами. Для работы с дробными числами используйте библиотеки, такие как numpy.