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