Цикл 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 используется для многократного выполнения блока кода фиксированное количество раз.

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



2021-03-04T12:13:15
Python