Это значит, что мы пытаемся выйти из цикла, которого нет
Ситуация: мы пишем опросник на Python, и нам важно, чтобы его мог пройти только совершеннолетний. Для этого мы добавляем в код такую логику:
- Спрашиваем про возраст.
- Смотрим, он больше 18 или нет.
- Если нет — останавливаем программу.
- Пишем дальше код, который будет работать, если участнику есть 18 лет и программа не остановилась.
На Python это выглядит так:
Вроде всё логично, но после запуска мы получаем ошибку:
SyntaxError: 'break' outside loop
Что это значит: в отличие от многих других языков, команда break в Python используется только для выхода из цикла, а не выхода из программы в целом.
Когда встречается: когда мы хотим выйти из программы в середине её работы, но не знаем как.
Что делать с ошибкой SyntaxError: 'break' outside loop
Всё зависит от того, что вы хотите сделать.
Если вы хотите выйти из цикла, то break служит как раз для этого — нужно только убедиться, что всё в порядке с отступами. Например, здесь мы выйдем из цикла, как только переменная станет больше 9:
А если вы хотите закончить работу программы в произвольном месте, то нужно вместо break использовать команду exit(). Она штатно завершит все процессы в коде и остановит программу. Это как раз подойдёт для нашего примера с опросником — теперь программа остановится, если возраст будет меньше 18: