Управление ходом программы

break, continue и вложенные условия в цикле

Содержание курса

В предыдущем уроке мы научились управлять циклом через условие в заголовке: while работает, пока условие истинно, for перебирает элементы по диапазону. Но иногда нужно выйти из цикла раньше — не потому что диапазон закончился, а потому что внутри тела произошло что-то особенное. Именно для этого существует break.

Инструкция break: немедленный выход из цикла

Когда Python встречает break внутри тела цикла, он немедленно прекращает его выполнение — полностью, без возврата к заголовку. Управление переходит к первой строке после блока цикла.

Это принципиально другой механизм выхода по сравнению с тем, что мы видели раньше. В обычном while цикл завершается, когда условие в заголовке становится ложным. В for — когда элементы в последовательности заканчиваются. break же срабатывает изнутри, в любой момент итерации, независимо от заголовка.

Особенно полезна эта инструкция в связке с while True. Сам по себе while True — это бесконечный цикл: условие в заголовке никогда не станет ложным. Но если внутри тела стоит if с break, цикл завершится ровно тогда, когда выполнится нужное условие:

i = 0
while True:
    if i == 3:
        break
    print(i)
    i += 1

print("Цикл завершён")

Что происходит по шагам:

  • Итерация 1: i = 0, условие i == 3 ложно, печатаем 0, увеличиваем i.
  • Итерация 2: i = 1, условие ложно, печатаем 1, увеличиваем i.
  • Итерация 3: i = 2, условие ложно, печатаем 2, увеличиваем i.
  • Итерация 4: i = 3, условие истинно — выполняется break, цикл немедленно прекращается.

Вывод программы:

0
1
2
Цикл завершён

Обратите внимание: строка print("Цикл завершён") выполняется — она стоит уже за пределами цикла, и break передал управление именно туда.

Ещё важный момент: break завершает ближайший цикл. Если циклы вложены друг в друга, break выйдет только из внутреннего — внешний продолжит работу. Для выхода из нескольких уровней вложенности потребуются дополнительные механизмы, но в большинстве задач начального уровня один break решает всё, что нужно.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.