Python range() Пример функции

Python range() Пример функции

В этой статье вы узнаете, как использовать функцию range() в Python с некоторыми примерами кода по ходу дела.

Что такое функция range() в Python? Разбивка синтаксиса функции range()

Встроенная в Python функция range() в основном используется при работе с циклами for - с ее помощью вы можете перебирать определенные блоки кода заданное количество раз.

Функция range() принимает три аргумента — один обязательный, а два необязательных.

По умолчанию синтаксис функции range() выглядит следующим образом:

range(stop)

Аргумент stop является обязательным.

Функция range() возвращает последовательность чисел, начинающуюся с 0, увеличивающуюся на 1 и заканчивающуюся на значении, которое вы указали в качестве stop (не включительно).

Но что если вы хотите выполнить итерацию по диапазону из двух указанных вами чисел и не хотите начинать отсчет с 0?

Вы можете передать второй необязательный аргумент start, start, чтобы указать начальное число. Синтаксис для этого выглядит следующим образом:

range(start, stop)

Этот синтаксис генерирует последовательность чисел на основе значений start (включительно) и stop (не включительно), которые увеличиваются на 1.

И наконец, если вы не хотите, чтобы по умолчанию инкремент был равен 1, вы можете указать третий необязательный аргумент, step. Синтаксис для этого выглядит следующим образом:

range(start, stop, step)

Этот синтаксис генерирует последовательность чисел, которая начинает отсчет с start (включительно) и увеличивается в соответствии с шагом, пока не достигнет stop (не включительно).

Как использовать функцию range() только с аргументом stop

При использовании только аргумента stop в функции range() подсчет начинается с 0 и увеличивается на 1. Подсчет останавливается при достижении значения, указанного в качестве stop.

Помните, что указанное значение stop не является полным!

Если вы укажете аргумент stop, равный 5, диапазон будет включать числа 0 - 4, а не 0 - 5 - подсчет остановится на 4, а не на 5.

Давайте посмотрим на пример ниже:

for num in range(5):
    print(num)
    
# output 

# 0
# 1
# 2
# 3
# 4

В этом примере я указал range(5).

Функция начала отсчет с 0, увеличивала на 1 на каждой итерации и закончила на 4.

Как использовать функцию range() с аргументами start и stop

Если вы хотите получить диапазон из двух чисел, вы используете два аргумента - start и stop. Имейте в виду, что значение start является инклюзивным, а значение stop - нет.

Если вам нужен диапазон значений от 5 включительно до 10 включительно, вы напишете range(5,11) следующим образом:

for num in range(5,11):
  print(num)
  
# output

# 5
# 6
# 7
# 8
# 9
# 10

В range() можно передавать и отрицательные целые значения:

for num in range(-5, 1):
  print(num)

# output

# -5
# -4
# -3
# -2
# -1
# 0

Следует отметить, что в range() нельзя передавать значения с плавающей точкой.

В этом примере, когда я передаю два значения с плавающей точкой в качестве аргументов, возникает ошибка:

for num in range(5.2, 4.3):
  print(num)

# output

# Traceback (most recent call last):
#  File "main.py", line 1, in <module>
#    for num in range(5.2, 4.3):
# TypeError: 'float' object cannot be interpreted as an integer

В качестве аргументов start и stop можно передавать как отрицательные, так и положительные целые числа.

Как использовать функцию range() с аргументами start, stop и step

По умолчанию значение инкремента равно 1 и не указывается. Однако его можно изменить, передав в функцию range() аргумент step.

Давайте рассмотрим следующий пример:

for num in range(10,21,2):
  print(num)
  
# output

# 10
# 12
# 14
# 16
# 18
# 20

В приведенном примере я создал последовательность чисел от 10 до 20 и увеличил шаги на 2. Я достиг этого, указав значение шага 2.

Следует отметить, что step может быть как отрицательным, так и положительным числом, но он не может быть равен 0.

Вот как можно сгенерировать диапазон с отрицательным аргументом step:

for num in range(20, 11, -2):
  print(num)

# output

# 20
# 18
# 16
# 14
# 12

Приведенный выше код генерирует последовательность чисел в обратном порядке.

Посмотрите, что происходит, когда шаг равен 0:

for num in range(10, 21 0):
  print(num)

# output

#  File "main.py", line 1
#    for num in range(10, 21 0):
                            ^
# SyntaxError: invalid syntax

Как создать список чисел с помощью функции range()

Вы можете создать список чисел, передав функцию range() в качестве аргумента конструктору list() следующим образом:

my_numbers_list = list(range(5))

print(my_numbers_list)

# output

# [0, 1, 2, 3, 4]

В приведенном выше примере я создал список чисел от 0 до 4.

Как использовать функцию len() с range() в Python

Допустим, у вас есть список элементов и вы хотите что-то сделать с элементами в зависимости от длины списка.

Для этого вы можете использовать функцию range() и передать ей в качестве аргумента длину списка.

Чтобы вычислить длину списка, используйте функцию len().

programming_languages = ["Python", "JavaScript", "Java", "C++"]

programming_languages_length = len(programming_languages)

for languages in range(programming_languages_length):
  print("Hello World")
  
# output

# Hello World
# Hello World
# Hello World
# Hello World

Заключение

Вот и все! Теперь вы знаете, как использовать функцию range() в Python.

Спасибо, что дочитали, и счастливого кодинга!