range()
с отрицательным шагом можно, указав начальное значение больше конечного и отрицательное значение шага. Например:
range(10, 0, -1)
создаст последовательность чисел от 10 до 1 (не включая 0) с шагом -1.
Использовать функцию range()
с отрицательным шагом очень просто и полезно для создания последовательностей чисел в обратном порядке.
Синтаксис:
range(start, stop, step)
Где:
start
: Начальное значение последовательности (включительно).stop
: Конечное значение последовательности (не включается в последовательность).step
: Шаг, с которым генерируется последовательность. Чтобы двигаться в обратном направлении, step
должен быть отрицательным.Важно:
start
должно быть больше, чем stop
. Иначе, range()
вернет пустую последовательность.start
пропущено (то есть используется только range(stop, step)
или range(step)
), то автоматически устанавливается start=0
, что обычно нежелательно при отрицательном шаге.Примеры:
Пример 1:
for i in range(5, 0, -1):
print(i)
# Вывод:
# 5
# 4
# 3
# 2
# 1
Пример 2: (с включением нуля)
for i in range(5, -1, -1):
print(i)
# Вывод:
# 5
# 4
# 3
# 2
# 1
# 0
Пример 3: (отрицательные числа)
for i in range(-1, -6, -1):
print(i)
# Вывод:
# -1
# -2
# -3
# -4
# -5
Пример 4: (создание списка)
numbers = list(range(10, 5, -1))
print(numbers)
# Вывод:
# [10, 9, 8, 7, 6]
Пример 5: (пустая последовательность, если start < stop при отрицательном шаге)
for i in range(0, 5, -1):
print(i) # Ничего не будет выведено
print(list(range(0,5,-1))) # Output: []