Цикл for в Python

Циклы — одна из фундаментальных концепций языков программирования. Циклы используются для выполнения повторяющихся задач до тех пор, пока не будет выполнено определенное условие.

В Python есть две основные конструкции циклов, которые позволяют многократно повторять блок кода: циклы for и while

В этой статье мы рассмотрим основы for в Python. Мы также покажем вам, как использовать range для генерации последовательности чисел, а else break и continue для изменения потока цикла.

for в Python

Цикл for в Python перебирает элементы последовательности и многократно выполняет блок операторов.

Цикл for Python имеет следующую форму:

for item in sequence:
  statements

Оператор for начинается с for , затем переменной ( item ), которой назначается каждый элемент последовательности (цель управления циклом), за которым следует in и, наконец, последовательность. Каждый условный оператор заканчивается двоеточием ( : ).

Блок statements начинается с отступа и заканчивается первой строкой без отступа. Большинство людей предпочитают использовать отступы с четырьмя или двумя пробелами. Официальное руководство по стилю для кода Python рекомендует использовать 4 пробела для каждого уровня отступа и избегать смешивания использования табуляции и пробелов для отступа.

Вот пример:

berries = ["Blueberry", "Raspberry", "Strawberry"]

for berry in berries:
  print(berry)
Blueberry
Raspberry
Strawberry

Вы можете перебирать любую последовательность, такую как строка, список, словарь или кортеж.

В приведенном ниже коде мы перебираем символы в строке linux:

for x in 'linux':
  print(x)
l
i
n
u
x

При просмотре словаря переменная присваивается ключу:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(key)
Blueberry
Raspberry
Strawberry

Для доступа к значениям словаря используйте индекс ключа:

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for key in berries:
  print(berries[key])

Другой вариант для цикла по значениям словаря — использовать метод values() :

berries = {'Blueberry': 100, 'Raspberry': 125, 'Strawberry': 150}

for value in berries.values():
  print(value)

Результат обоих примеров одинаков:

100
125
150

Конструктор range()

Конструктор Python range() позволяет генерировать последовательность целых чисел, определяя начальную и конечную точки диапазона. range() работает по-разному в Python 2 и 3. В этой статье мы используем Python 3.

range() обычно используется с for для перебора последовательности чисел. Это Python-эквивалент цикла for

Когда указан только один аргумент, range возвращает последовательность чисел, увеличенных на 1, начиная с 0 до argument - 1 :

for i in range(3):
  print(i)
0
1
2

Если указаны два аргумента, range возвращает последовательность чисел, увеличенных на 1, начиная с первого аргумента до second argument - 1 :

for i in range(3, 5):
  print(i)
3
4

Третий аргумент позволяет указать приращение:

for i in range(0, 16, 5):
  print(i)
0
5
10
15

Вложенный for цикл

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

for i in range(0, 6):
  for j in range(0, 6):
    print('%d + %d = %d' % (i, j, i+j))
0 + 0 = 0
0 + 1 = 1
0 + 2 = 2
...
5 + 3 = 8
5 + 4 = 9
5 + 5 = 10

Операторы break и continue

Операторы break и continue позволяют контролировать выполнение цикла for .

Оператор break

Оператор break завершает текущий цикл и передает управление программой оператору, следующему за циклом. При использовании внутри вложенного цикла break завершает самый внутренний цикл.

В следующем примере мы используем if для прекращения выполнения цикла, когда текущий повторяемый элемент равен ‘Raspberry’:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
Blueberry

Оператор continue

Оператор continue завершает текущую итерацию цикла и передает управление программой следующей итерации цикла. Цикл не прерывается; пропускается только текущая итерация.

В следующем примере мы перебираем диапазон чисел. Когда текущий повторяемый элемент равен ‘3’, continue приведет к возврату выполнения к началу цикла и продолжению следующей итерации:

for i in range(1, 6):
  if i == 3:
    continue
  print(i)
1
2
4
5

Пункт else

В Python for может иметь необязательное предложение else

Предложение else выполняется, когда цикл завершается нормально, то есть когда все итерации исчерпаны:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  print(i)
else:
  print('Loop completed.')
Blueberry
Raspberry
Strawberry
Loop completed.

Когда цикл завершается break или continue , предложение else не выполняется:

for i in ["Blueberry", "Raspberry", "Strawberry"]:
  if i == "Raspberry":
    break
  print(i)
else:
  print('Loop completed.')
Blueberry

Вывод

Цикл for Python используется для многократного выполнения блока кода фиксированное количество раз.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Оставьте комментарий