До этого момента программы выполняли код последовательно, строка за строкой, и могли выбирать разные ветки выполнения с помощью условий if / elif / else.
Однако на практике очень часто возникает другая задача: нужно выполнить одно и то же действие несколько раз. Например, пройтись по числам от 1 до 10, обработать каждый символ строки, проверить каждый элемент списка или повторять действие, пока выполняется некоторое условие.
Для решения таких задач в Python используются циклы.
Содержание
- Что такое цикл
- Итерация
- Тело цикла и отступы
- Цикл for: перебор значений по очереди
- enumerate: когда нужен номер элемента
- range(): источник чисел для for
- Цикл while: повторение по условию
- Управление циклами: break и continue
- else в циклах for и while
- Практические задания — Этап 3. Циклы
- Задание 1. for + range(): числа от 1 до 5
- Задание 2. Перебор строки: вывести символы
- Задание 3. while: числа от 1 до 5
- Задание 4. break: остановить цикл на определённом числе
- Задание 5. continue: пропустить значение
- Контрольные вопросы — Этап 3
- Вопрос 1. Что такое итерация цикла?
- Вопрос 2. В чём основное различие между циклами for и while?
- Вопрос 3. Почему выражение range(5) не включает число 5?
- Вопрос 4. Что делает оператор break в цикле?
- Вопрос 5. Что произойдёт, если условие в while никогда не станет ложным?
- Мини-шпаргалка по циклам
- Итог

Что такое цикл
Цикл — это конструкция языка Python, которая позволяет многократно выполнять один и тот же блок кода.
Главная идея цикла состоит в том, что код внутри цикла выполняется не один раз, а повторяется. Каждое повторение выполняется по одному и тому же сценарию, но с разными данными или при разных значениях переменных.
Цикл завершается автоматически, когда заканчиваются данные для перебора (в случае for) или когда условие становится ложным (в случае while). Благодаря этому циклы позволяют писать код короче, понятнее и надёжнее, избегая копирования одних и тех же строк.
Итерация
Итерация — это одно выполнение тела цикла, то есть один шаг цикла.
Если цикл выполнился один раз — это одна итерация. Если пять раз — это пять итераций. Если перебираются десять элементов, то будет выполнено десять итераций.
На каждой итерации выполняется один и тот же набор инструкций, но данные обрабатываются по очереди. Например, на каждой итерации может меняться значение счётчика или браться следующий элемент последовательности.
Пример:
В этом примере тело цикла выполнится три раза — по одному разу на каждую итерацию.
Тело цикла и отступы
Тело цикла — это блок кода, который повторяется на каждой итерации. Именно в теле цикла описывается, что конкретно нужно сделать при каждом повторении.
В Python тело цикла начинается после двоеточия (:) в строке с for или while и выделяется отступом. Отступы являются частью синтаксиса языка, а не просто оформлением.
Всё, что находится с отступом после цикла, относится к его телу и выполняется на каждой итерации. Код без отступа выполнится один раз, после завершения цикла.
Пример:
Цикл for: перебор значений по очереди
Цикл for используется для перебора значений по очереди. Его применяют, когда нужно пройтись по числам, символам строки или элементам набора данных.
Python берёт первое значение из последовательности, помещает его в переменную цикла, выполняет тело цикла, затем берёт следующее значение и повторяет процесс. Когда значения заканчиваются, цикл завершается.
Пример:
Цикл for последовательно принимает значения от 1 до 5 и на каждой итерации выводит текущее число.
enumerate: когда нужен номер элемента
В базовом цикле for мы перебираем только значения элементов. Однако на практике часто требуется знать не только сам элемент, но и его номер в последовательности.
Для этого используется встроенная функция enumerate, которая позволяет одновременно получать индекс элемента и его значение.
Пример:
Здесь index — номер элемента, а value — сам элемент. enumerate не является отдельным типом цикла и используется только тогда, когда индекс действительно нужен.
range(): источник чисел для for
Функция range() создаёт последовательность чисел, которую удобно перебирать в цикле for.
Вызов range(5) даёт числа 0, 1, 2, 3, 4. Верхняя граница не включается, чтобы было удобно работать с количеством элементов и индексами.
Также можно использовать два аргумента:
В этом случае будут получены числа от 1 до 5.
Цикл while: повторение по условию
Цикл while выполняется до тех пор, пока условие остаётся истинным.
Перед каждой итерацией Python проверяет условие. Если оно истинно — выполняется тело цикла. Как только условие становится ложным, цикл завершается.
Важно понимать, что внутри while необходимо менять значения переменных так, чтобы условие когда-нибудь стало ложным. В противном случае цикл станет бесконечным.
Пример корректного цикла:
Управление циклами: break и continue
Иногда требуется управлять выполнением цикла вручную.
Оператор break полностью завершает выполнение цикла, даже если данные ещё не закончились или условие остаётся истинным.
Оператор continue завершает исполнение текущей итерации цикла и сразу переходит к следующей итерации. Код, расположенный ниже continue в теле цикла, в этом проходе не выполняется, но сам цикл продолжается.
Пример:
В этом примере значение 2 будет пропущено, но цикл продолжит работу.
else в циклах for и while
В Python у циклов for и while может использоваться блок else. Он выполняется только в том случае, если цикл завершился нормально, без принудительного выхода через break.
Если внутри цикла срабатывает break, блок else не выполняется.
Пример:
В этом примере блок else выполнится, потому что цикл завершился без break.
Практические задания — Этап 3. Циклы
Задания идут в простом формате: сначала задача, затем решение и пояснение в аккордеоне.
Это помогает сначала подумать самостоятельно, а потом сравнить подход.
Задание 1. for + range(): числа от 1 до 5
Выведите числа от 1 до 5 включительно, по одному числу на строку.
Показать решение и пояснение
for i in range(1, 6):
print(i)Пояснение:
range(1, 6) даёт последовательность чисел 1, 2, 3, 4, 5.
На каждой итерации переменная i принимает очередное число из этой последовательности,
и print(i) выполняется снова и снова.
Задание 2. Перебор строки: вывести символы
Дана строка:
text = "Python"Выведите каждый символ строки на отдельной строке.
Показать решение и пояснение
text = "Python"
for char in text:
print(char)Пояснение:
Строка — это последовательность символов. Цикл for берёт символы по одному:
сначала P, потом y, затем t и так далее.
Задание 3. while: числа от 1 до 5
Выведите числа от 1 до 5 с помощью цикла while.
Показать решение и пояснение
i = 1
while i <= 5:
print(i)
i += 1Пояснение:
Условие проверяется перед каждой итерацией: пока i <= 5 — цикл работает.
Строка i += 1 увеличивает счётчик, и в какой-то момент i станет 6,
тогда условие будет ложным, и цикл завершится.
Контрпример:
Если убрать i += 1, значение i не изменится, условие будет всегда истинным,
и цикл станет бесконечным.
Задание 4. break: остановить цикл на определённом числе
Выведите числа от 1 до 10, но остановите цикл, когда число станет равным 6.
(То есть 6 печатать не нужно.)
Показать решение и пояснение
for i in range(1, 11):
if i == 6:
break
print(i)Пояснение:
Цикл идёт по числам 1..10. Когда i становится равным 6, выполняется break —
это немедленно завершает цикл, даже если значения ещё остались.
Задание 5. continue: пропустить значение
Выведите числа от 1 до 5, но пропустите число 3.
Показать решение и пояснение
for i in range(1, 6):
if i == 3:
continue
print(i)Пояснение:
Когда i равно 3, выполняется continue.
Это означает: «пропустить оставшийся код на этой итерации и перейти к следующей».
Поэтому print(i) для тройки не выполняется.
Контрольные вопросы — Этап 3
Вопрос 1. Что такое итерация цикла?
Показать ответ
Ответ:
Итерация — это один шаг выполнения цикла.
Пояснение:
При каждой итерации выполняется блок кода внутри цикла для текущего значения.
Вопрос 2. В чём основное различие между циклами for и while?
Показать ответ
Ответ:
for перебирает значения из последовательности, а while выполняется, пока условие истинно.
Пояснение:
for удобен, когда заранее известно, по чему идёт перебор.
while используют, когда повторение зависит от условия, которое проверяется перед каждой итерацией.
Вопрос 3. Почему выражение range(5) не включает число 5?
Показать ответ
Ответ:
Потому что верхняя граница диапазона в range() не включается.
Пояснение:
Такой подход упрощает работу с количеством элементов и индексами, которые обычно начинаются с нуля.
Вопрос 4. Что делает оператор break в цикле?
Показать ответ
Ответ:
Оператор break немедленно завершает выполнение цикла.
Пояснение:
После выполнения break цикл прекращается, даже если значения для перебора ещё остались.
Вопрос 5. Что произойдёт, если условие в while никогда не станет ложным?
Показать ответ
Ответ:
Цикл станет бесконечным.
Пояснение:
Если внутри цикла не изменяются значения, влияющие на условие, оно всегда остаётся истинным,
и цикл будет выполняться до принудительной остановки программы.
Мини-шпаргалка по циклам
Мини-шпаргалка по циклам (Этап 3)
- Цикл — повторное выполнение одного и того же блока кода
- Итерация — один шаг выполнения цикла
- for — цикл для перебора последовательностей
- while — цикл, выполняющийся пока условие истинно
- range() — функция для создания последовательности чисел
- break — немедленное завершение цикла
- continue — завершает текущую итерацию и переходит к следующей
Итог
Циклы позволяют выполнять повторяющиеся действия без копирования одинаковых строк кода и являются одним из ключевых инструментов языка Python. С их помощью можно последовательно обрабатывать числа, строки, списки и другие наборы данных, а также управлять выполнением программы в зависимости от условий. Понимание того, зачем нужны циклы и какую задачу они решают, формирует основу для дальнейшего изучения программирования.
В Этапе 3 были разобраны два основных вида циклов — for и while, а также связанные с ними понятия итерации, тела цикла и отступов. Отдельное внимание уделено функциям range и enumerate, которые упрощают перебор чисел и элементов последовательностей, а также операторам break и continue, позволяющим управлять ходом выполнения цикла.
Освоив эти конструкции, можно писать более компактный, понятный и надёжный код, избегая дублирования логики и типичных ошибок новичков. Знание принципов работы циклов является обязательной базой для перехода к обработке коллекций, работе с файлами, автоматизации задач и дальнейшему углублению в Python.