Цикл for
Одно из преимуществ компьютеров перед людьми - способность повторять одни и те же действия многократно, быстро и совсем не утомляясь.
В Python существует две основных разновидности циклов:
- циклы, повторяющиеся определенное количество раз (
for, счетные циклы, counting loops);
- циклы, повторяющиеся до наступления определенного события (
while, условные циклы, conditional loops).
Цикл for замечательно работает, если мы заранее знаем, сколько повторений (итераций) нам требуется сделать.
Рассмотрим код, который распечатает раз слово "Привет":
for i in range(10):
print('Привет')
Структура цикла for в Python выглядит так:
for название_переменной_цикла in range(количество_повторений):
блок кода
Двоеточие (:) в конце строки с инструкцией for сообщает интерпретатору Python, что дальше находится блок команд. В блок команд входят все строки, расположенные с отступом от строки с инструкцией for, вплоть до следующей строки без отступа.
Блок команд, который выполняется в цикле for, называется телом цикла.
В предыдущих уроках мы считывали несколько чисел при помощи нескольких команд input(). С помощью цикла for можно считывать и обрабатывать сколько угодно чисел.
Рассмотрим следующий программный код:
for i in range(5):
num = int(input())
print("Квадрат вашего числа равен:", num * num)
print("Цикл завершен")
Такая программа считывает чисел и выводит на экран их квадраты вместе с поясняющей надписью. Поскольку вторая и третья строки выделены отступом, Python считает, что это тело цикла, которое выполняется раз. Четвертая строка не содержит отступа, поэтому не является частью цикла и будет выполнена всего один раз, после того как цикл завершится.
Примеры использования цикла for
Рассмотрим следующий программный код:
print("A")
print("B")
for i in range(5):
print("C")
print("D")
print("E")
Результатом выполнения такой программы будут строки
A
B
C
D
C
D
C
D
C
D
C
D
E
То есть сначала программа распечатает символы А и В, затем символы C и D пять раз, а затем распечатает символ Е один раз. Тело цикла состоит из двух строк: пятой и шестой; именно они и будут повторяться.
В программе может быть сколько угодно циклов. Например, если мы хотим, чтобы сначала раз был распечатан символ С, а затем раз символ D, мы можем использовать цикла:
print('A')
print('B')
for i in range(5):
print('C')
for i in range(5):
print('D')
print('E')
Результатом выполнения такой программы будут строки:
A
B
C
C
C
C
C
D
D
D
D
D
E
Примечания
Примечание 1. Однократное выполнение тела цикла называется итерацией цикла.
Примечание 2. Графическое представление цикла for имеет вид:

Примечание 3. Напомним, что блоком кода называют объединенные друг с другом строки. Они всегда связаны с определенной частью программы (например, с инструкцией if или for). В Python блоки кода формируются при помощи отступов:

Примечание 4. Слово for пишется маленькими буквами, первая строка должна заканчиваться двоеточием, а тело цикла должно быть выделено отступом.