Операторы break, continue и pass в циклах Python 3

    Команда Simple-Server
    03.06.2026
    5 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Инструкция break в языке программирования Python прерывает выполнение блока кода. Простейший пример:

    for j in 'bananafishbones': if j == 'f': break print(j)

    Как только программа после нескольких итераций доходит до элемента последовательности, обозначенного буквой f, цикл (loop) прерывается, поскольку действует оператор break. Теперь рассмотрим работу этой инструкции в цикле while:

    x = 0 while x < 5: print(x) x += 0.5 print('Выход')

    Вывод будет следующий (приводим с сокращениями):

    Как только перестает выполняться условие и x становится равным 5, программа завершает цикл. А теперь перепишем код с использованием инструкции **break** :

    x = 0 while True: print(x) if x >= 4.5: break x += 0.5 print('Выход')

    Мы точно так же присвоили x значение 0 и задали условие: пока значение x истинно (True), продолжать выводить его. Код, правда, получился немного длиннее, но бывают ситуации, когда использование оператора прерывания оправданно: например, при сложных условиях или для того, чтобы подстраховаться от создания бесконечного цикла. Уберите из кода выше две строчки:

    x = 0 while True: print(x) x += 0.5 print('Выход')

    И перед нами бесконечный вывод:

    0 0.5 100 100.5 1000000 1000000.5

    И слово в конце (‘Выход’), таким образом, никогда не будет выведено, поскольку цикл не закончится. Поэтому при работе с последовательностями чисел использование оператора **break** убережет вас от сбоев в работе программ, вызываемых попаданием в бесконечный цикл.

    Иногда необходимо проверить, был ли цикл исполнен до конца или выход произошел с использованием инструкции **break**. Для этого добавляется проверка по условию с **else**. Напишем программу, которая проверяет фразу на наличие запрещенных элементов:

    word = input('Введите слово: ') for i in word: if i == 'я': print('Цикл был прерван, обнаружена буква я') break else: print('Успешное завершение, запрещенных букв не обнаружено') print('Проверка завершена')

    Теперь, если пользователь введет, например, «Привет!», программа выдаст следующее:

    Успешное завершение, запрещенных букв не обнаружено Проверка завершена

    Но если во введенном слове будет буква «я», то вывод примет такой вид:

    Цикл был прерван, обнаружена буква я Проверка завершена

    Небольшое пояснение: функция **input** принимает значение из пользовательского ввода (выражение _'Введите слово: ' _необходимо только для пользователя, для корректной программы хватило бы и такой строки: _word = input ()_) и присваивает его переменной _word_. Последняя при помощи **for** поэлементно (в данном случае — побуквенно) анализируется с учетом условия, вводимого **if**.

    Оператор continue в Python

    Если **break** дает команду на прерывание, то **continue** действует более гибко. Его функция заключается в пропуске определенных элементов последовательности, но без завершения цикла. Давайте напишем программу, которая «не любит» букву «я»:

    word = input('Введите слово: ') for i in word: if i == 'я': continue print(i)

    Попробуйте ввести, например, «яблоко», в этом случае вывод будет таким:

    Это происходит потому, что мы задали условие, по которому элемент с определенным значением (в данном случае буква «я») не выводится на экран, но благодаря тому, что мы используем инструкцию **continue** , цикл доходит до последней итерации и все «разрешенные» элементы выводятся на экран. Но в коде выше есть одна проблема: если пользователь введет, например, «Яблоко», программа выведет слово полностью, поскольку не учтен регистр:

    Наиболее очевидное решение в данном случае состоит в добавлении и заглавной буквы в блок **if** таким образом:

    word = input('Введите слово: ') for i in word: if i == 'я' or i == 'Я': continue print(i)

    Назначение **pass** — продолжение цикла независимо от наличия внешних условий. В готовом коде **pass** встречается нечасто, но полезен в процессе разработки и применяется в качестве «заглушки» там, где код еще не написан. Например, нам нужно не забыть добавить условие с буквой «я» из примера выше, но сам этот блок по какой-то причине мы пока не написали. Здесь для корректной работы программы и поможет заглушка **pass** :

    word = input('Введите слово: ') for i in word: if i == 'я': pass else: print('Цикл завершен, запрещенных букв не обнаружено') print('Проверка завершена')

    Теперь программа запустится, а **pass** будет для нас маркером и сообщит о том, что здесь нужно не забыть добавить условие.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны