Циклы со счётчиком — это фундаментальная концепция в программировании, которая позволяет выполнять операции многократно, используя переменную-счётчик для отслеживания текущего состояния итерации. В Python для этой цели обычно используется цикл for
в сочетании с функцией range()
, а также встроенная функция enumerate()
для удобного доступа к индексам элементов в итерируемых объектах. В этой статье мы рассмотрим основы использования циклов со счётчиком, примеры и различные подходы.
Цикл for
с функцией range()
Функция range()
генерирует последовательность чисел, которую можно использовать для итерации в цикле for
. С её помощью можно легко задать начальное и конечное значение счётчика, а также шаг.
Синтаксис
for i in range(start, stop, step):
# код для выполнения в цикле
start
(необязательный): Начальное значение последовательности. По умолчанию равно 0.stop
(обязательный): Конечное значение последовательности (не включается в последовательность).step
(необязательный): Шаг между значениями. По умолчанию равен 1.
Пример
Простой пример использования цикла for
со счётчиком от 0 до 4:
for i in range(5):
print(i)
# Вывод:
# 0
# 1
# 2
# 3
# 4
Пример с начальным значением и шагом
Можно задать начальное значение и шаг:
for i in range(2, 10, 2):
print(i)
# Вывод:
# 2
# 4
# 6
# 8
Обратный порядок
Функция range()
также поддерживает отрицательный шаг для итерации в обратном порядке:
for i in range(10, 0, -2):
print(i)
# Вывод:
# 10
# 8
# 6
# 4
# 2
Подробнее про циклы в обратном порядке читайте в нашей статье.
Цикл for
с функцией enumerate()
Функция enumerate()
позволяет получить доступ к элементам и их индексам одновременно. Это удобно для итерации по спискам и другим последовательностям.
Синтаксис
for index, value in enumerate(sequence, start=0):
# код для выполнения в цикле
Пример
Пример использования enumerate()
для итерации по списку:
fruits = ["яблоко", "банан", "вишня"]
for index, fruit in enumerate(fruits):
print(index, fruit)
# Вывод:
# 0 яблоко
# 1 банан
# 2 вишня
Пример с изменением начального индекса
Можно изменить начальный индекс по умолчанию:
fruits = ["яблоко", "банан", "вишня"]
for index, fruit in enumerate(fruits, start=1):
print(index, fruit)
# Вывод:
# 1 яблоко
# 2 банан
# 3 вишня
Счётчики в циклах while
Цикл while
также может использоваться для реализации циклов со счётчиком, хотя это и менее распространённый метод.
Синтаксис
i = start
while i < stop:
# код для выполнения в цикле
i += step
Пример
Пример использования цикла while
со счётчиком:
i = 0
while i < 5:
print(i)
i += 1
# Вывод:
# 0
# 1
# 2
# 3
# 4