Перейти к основному содержимому

Циклы for в Python

Используйте цикл for для перебора последовательности: это может быть список, кортеж, словарь, множество или строка.

Во многих языках for работает совсем иначе. В Python он ведёт себя скорее как методы-итераторы в других объектно-ориентированных языках.

Инструкции в цикле выполняются по одному разу для каждого элемента списка, кортежа, множества и так далее.

Кроме того, вам не нужно заранее создавать переменную-индекс.

Пример

Выведите каждый фрукт из списка:

Prompt
Напишите программу на Python, которая использует цикл for, чтобы вывести каждый фрукт из списка. Создайте список с "apple", "banana", "cherry" и пройдите по нему циклом.
Вывод: полная программа на Python

Перебор строки

Строка — это последовательность символов, поэтому её тоже можно перебирать:

Пример

Переберите слово «banana» буква за буквой:

Prompt
Напишите программу на Python, которая использует цикл for, чтобы перебрать каждый символ в слове "banana". Выведите каждую букву на отдельной строке.
Вывод: полная программа на Python

Оператор break

Оператор break досрочно завершает цикл, ещё до того как будут пройдены все элементы:

Пример

Выйдите из цикла, как только x станет равен «banana»:

Prompt
Напишите программу на Python, которая использует цикл for с оператором break для выхода, когда x равен "banana". Выведите каждый фрукт, затем прервите цикл после вывода "banana".
Вывод: полная программа на Python

Пример

Снова выйдите из цикла на «banana», но теперь break стоит перед print:

Prompt
Напишите программу на Python, которая использует цикл for с оператором break перед print. Прервите цикл, когда x равен "banana", чтобы "banana" не был выведен.
Вывод: полная программа на Python

Оператор continue

Оператор continue отбрасывает текущую итерацию цикла и сразу переходит к следующей:

Пример

При выводе пропустите banana:

Prompt
Напишите программу на Python, которая использует цикл for с оператором continue, чтобы пропустить "banana". Выведите все фрукты, кроме "banana".
Вывод: полная программа на Python

Функция range()

Когда нужно повторить код заданное количество раз, подойдёт range().

Эта функция даёт последовательность чисел. Если не указать иное, последовательность начинается с 0, на каждом шаге увеличивается на 1 и останавливается на указанном вами числе.

Это число не включается, поэтому range(6) охватывает значения от 0 до 5, а не от 0 до 6.

Чтобы начать не с 0, передайте начальное значение дополнительным параметром: range(2, 6) даёт значения от 2 до 6, не включая его.

Третий параметр меняет шаг, который по умолчанию равен 1, как в range(2, 30, 3).

Пример

Простой вызов range():

Prompt
Напишите программу на Python, которая использует цикл for с range(6), чтобы вывести числа от 0 до 5.
Вывод: полная программа на Python

Пример

Выбор начала последовательности:

Prompt
Напишите программу на Python, которая использует range(2, 6), чтобы вывести числа, начиная с 2 и до 5.
Вывод: полная программа на Python

Пример

Счёт с шагом 3 вместо шага по умолчанию 1:

Prompt
Напишите программу на Python, которая использует range(2, 30, 3), чтобы вывести числа от 2 до 29 с шагом 3.
Вывод: полная программа на Python

Else в цикле for

Добавьте к циклу for ключевое слово else, чтобы задать блок, который выполняется после завершения цикла.

Примечание: если цикл завершает оператор break, блок else НЕ выполняется.

Пример

Посчитайте от 0 до 5, а затем выведите сообщение в конце:

Prompt
Напишите программу на Python с циклом for по range(6) и блоком else. Выведите числа от 0 до 5, затем выведите "Наконец-то закончено!", когда цикл завершится.
Вывод: полная программа на Python

Пример

Здесь цикл прерывается, когда x равен 3, поэтому посмотрите, что произойдёт с блоком else:

Prompt
Напишите программу на Python, которая показывает, что else не выполняется, если используется break. Прервите цикл, когда x равен 3, в цикле по range(6) с блоком else.
Вывод: полная программа на Python

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

Если поместить один цикл внутрь другого, получится вложенный цикл.

На каждой итерации «внешнего цикла» «внутренний цикл» выполняется от начала до конца:

Пример

Соедините каждое прилагательное с каждым фруктом:

Prompt
Напишите программу на Python с вложенными циклами for. Пройдите циклом по прилагательным ["red", "big", "tasty"] и фруктам ["apple", "banana", "cherry"], выводя каждую комбинацию.
Вывод: полная программа на Python

Оператор pass

Циклу for нужно тело. Если вашему циклу по какой-то причине нечего делать, напишите там pass, чтобы Python не выдал ошибку.

Пример

Prompt
Напишите программу на Python с циклом for, который использует оператор pass в качестве заглушки. Пройдите циклом по [0, 1, 2] с pass в теле цикла.
Вывод: полная программа на Python