В цикле for указывается переменная и множество значений, по которому будет пробегать переменная. Множество значений может быть задано списком(массивом), кортежем(перечисляем значения через запятую), строкой или диапазоном.
for переменная in множество значений:
тело цикла
Пример со списком
a = [1, 2, 3, 4]
for i in a:
print(i)
Тело цикла может быть сложным. Состоять из нескольких инструкций и содержать условия
a = [1, 2, 3, 4]
for i in a:
if i % 2 == 0:
print(i)
Пример с кортежем
for i in 1, 2, 3, 4:
print(i)
i принимает все значения из множества значений. В примере ниже первые три итерации(итерация - одно выполнение тела цикла) i имеет тип str(строка), а последние две итерации тип int(целое число)
for i in 'aba', 'ba', 'cab', 1, 3:
print(i)
Пример со строкой
for i in "abacaba":
print(i)
Циклы for используются для повторения какой-либо последовательности действий заданное число раз, либо для изменения значения переменной в цикле от некоторого начального значения до некоторого конечного.
Для повторения цикла некоторое заданное число раз n можно использовать цикл for вместе с функцией range:
n = 5
for i in range(n):
print("FOR")
В качестве n может использоваться числовая константа, переменная или произвольное арифметическое выражение (например, 2 ** 10). Если значение n равно нулю или отрицательное, то тело цикла не выполнится ни разу.
Индексная переменная i будеть принимать значения от a до b - 1, то есть первый параметр функции range, вызываемой с двумя параметрами, задает начальное значение индексной переменной, а второй параметр — значение, которая индексная переменная принимать не будет. Если же a≥b, то цикл не будет выполнен ни разу.
for i in range(3, 6):
print(i)
Чтобы организовать цикл, в котором индексная переменная будет уменьшаться, необходимо использовать функцию range с тремя параметрами. Первый параметр задает начальное значение индексной переменной, второй параметр — значение, до которого будет изменяться индексная переменная (не включая его!), а третий параметр — величину изменения индексной переменной.
Цикл по всем нечётным числам
for i in range(1, 9, 2):
print(i)
Цикл по всем числам от 5 до 1
for i in range(5, 0, -1):
print(i)
запись range(n) эквивалентна записи range(0, n)