8.5. Python – Как работает и что делает оператор continue: синтаксис, блок-схема, пример
Как работает и что делает оператор continue в Python? Оператор continue возвращает управление в начало цикла while. Оператор continue отклоняет все оставшиеся операторы в текущей итерации цикла и перемещает управление обратно в начало цикла.
Оператор continue можно использовать как в циклах while, так и в циклах for.
Синтаксис
Синтаксис оператора continue в Python следующий:
continue
Блок-схема
Пример
#!/usr/bin/python for letter in 'Python': # Первый пример if letter == 'h': continue print 'Текущая буква: ', letter var = 10 # Второй пример while var > 0: var = var -1 if var == 5: continue print 'Текущее значение переменной: ', var print "До свидания!"
Когда приведённый выше код выполнится, он даст следующий результат:
Текущая буква: P Текущая буква: y Текущая буква: t Текущая буква: o Текущая буква: n Текущее значение переменной: 9 Текущее значение переменной: 8 Текущее значение переменной: 7 Текущее значение переменной: 6 Текущее значение переменной: 4 Текущее значение переменной: 3 Текущее значение переменной: 2 Текущее значение переменной: 1 Текущее значение переменной: 0 До свидания!
Оглавление
- 1. Python – Самоучитель для начинающих
- 2. Python – Обзор
- 3. Python – Установка среды
- 4. Python – Базовый синтаксис
- 4.1. Python – Аргументы командной строки
- 5. Python – Типы переменных
- 6. Python – Основные операторы
- 6.1. Python – Арифметические операторы
- 6.2. Python – Операторы сравнения
- 6.3. Python – Операторы присваивания: примеры
- 6.4. Python – Побитовые операторы
- 6.5. Python – Логические операторы
- 6.6. Python – Операторы членства
- 6.7. Python – Операторы идентификации
- 6.8. Python – Приоритет операторов
- 7. Python – Условные операторы
- 7.1. Python – Условие if
- 7.2. Python – Условные операторы if. else и elif
- 7.3. Python – Вложенные операторы if
- 8. Python – Циклы
- 8.1. Python – Цикл while
- 8.2. Python – Цикл for
- 8.3. Python – Вложенные циклы
- 8.4. Python – Оператор break
- 8.5. Python – Оператор continue
- 8.6. Python – Оператор pass
- 9. Python – Числа
- 9.1. Python – Метод abs()
- 9.2. Python – Метод ceil()
- 9.3. Python – Метод cmp()
- 9.4. Python – Метод exp()
- 9.5. Python – Метод fabs()
- 9.6. Python – Метод floor()
- 9.7. Python – Метод log()
- 9.8. Python – Метод log10()
- 9.9. Python – Метод max()
- 9.10. Python – Метод min()
- 9.11. Python – Метод modf()
- 9.12. Python – Метод pow()
- 9.13. Python – Метод round()
- 9.14. Python – Метод sqrt()
- 9.15. Python – Метод choice()
- 9.16. Python – Метод randrange()
- 9.17. Python – Метод random()
- 9.18. Python – Метод seed()
- 9.19. Python – Метод shuffle()
- 9.20. Python – Метод uniform()
- 9.21. Python – Метод acos()
- 9.22. Python – Метод asin()
- 9.23. Python – Метод atan()
- 9.24. Python – Метод atan2()
- 9.25. Python – Метод cos()
- 9.26. Python – Метод hypot()
- 9.27. Python – Метод sin()
- 9.28. Python – Метод tan()
- 9.29. Python – Метод degrees()
- 9.30. Python – Метод radians()
41. Операторы break, continue и pass в Python
В предыдущем уроке вы познакомились с циклом while , а с циклом for встретились еще ранее. Теперь научимся менять поведение цикла при помощи break и continue .
Оператор break
Оператор break , как можно догадаться из названия, прерывает цикл, после чего управление передается следующей инструкции, после цикла. Но, если оператор break применен внутри вложенных циклов, то будет прерван внутренний. Это проще понять на примере:
for i in range(10):
print(i, end=': ')
for j in range(10):
if (j == 5):
break
print(j, end='', sep=' ')
print()
Оператор break выполняется внутри второго цикла, когда переменная j становится равной пяти. При этом внешний цикл не прерывается.
Оператор break полезно использовать, когда, предположим, вы проходитесь по циклу, чтобы что-то найти. После нахождения нужных данных, перебирать оставшуюся часть цикла становится бесполезным действием, поэтому целесообразно вызвать оператор break , чтобы выйти из цикла. Этим вы повысите быстродействие программы.
Оператор continue
Оператор continue в Python пропускает оставшуюся часть кода в блоке цикла и передает управление в его начало, т.е. начинает новую итерацию. Например:
for i in range(10):
print(i)
continue
i += 10
print(i)
Выполняться будет только первая функция print() . Далее идет оператор continue , который сообщает интерпретатору необходимость передачи управления в начало цикла.
Операторы break и continue работают для всех циклов, а не только для цикла for , который использовался во всех примерах.
Оператор pass
Оператор pass очень удобен, когда вам необходимо накидать структуру кода, но пока вы не знаете, какие операции будете производить. Оператор pass – это «заглушка», которая ничего не делает, но предоставляет возможность написать пустую конструкцию, функцию или класс:
if (a > 0):
pass
else:
pass
Следующий код интерпретатором будет рассмотрен как неправильный:
if (a > 0):
else:
В этом уроке мы познакомились с операторами break , continue и pass в Python, два из которых позволяют изменить поведение цикла, а последний, дает возможность «набросать» структуру кода. В следующем уроке вернемся к циклу while/else и for/else , но уже вооруженными новыми знаниями.
Операторы break, continue и pass в циклах Python 3
При работе с циклами while и for бывает необходимо выполнить принудительный выход, пропустить часть или игнорировать заданные условия. Для первых двух случаев используются операторы break и continue Python , а для игнорирования условий — инструкция pass . Давайте посмотрим на примерах, как работают эти операторы.
Оператор break
Инструкция break в языке программирования Python прерывает выполнение блока кода. Простейший пример:
for j in 'bananafishbones':
if j == 'f':
break
print(j)
Получаем такой вывод:
b
a
n
a
n
a
Как только программа после нескольких итераций доходит до элемента последовательности, обозначенного буквой f , цикл (loop) прерывается, поскольку действует оператор break . Теперь рассмотрим работу этой инструкции в цикле while :
x = 0
while x < 5:
print(x)
x += 0.5
print('Выход')
Вывод будет следующий (приводим с сокращениями):
0
0.5
…
4.0
4.5
Выход
Как только перестает выполняться условие и x становится равным 5, программа завершает цикл. А теперь перепишем код с использованием инструкции break :
x = 0
while True:
print(x)
if x >= 4.5:
break
x += 0.5
print('Выход')
Результат тот же:
0
0.5
…
4.0
4.5
Выход
Мы точно так же присвоили x значение 0 и задали условие: пока значение x истинно (True), продолжать выводить его. Код, правда, получился немного длиннее, но бывают ситуации, когда использование оператора прерывания оправданно: например, при сложных условиях или для того, чтобы подстраховаться от создания бесконечного цикла. Уберите из кода выше две строчки:
x = 0
while True:
print(x)
x += 0.5
print('Выход')
И перед нами бесконечный вывод:
0
0.5
…
100
100.5
…
1000000
1000000.5
…
И слово в конце (‘Выход’), таким образом, никогда не будет выведено, поскольку цикл не закончится. Поэтому при работе с последовательностями чисел использование оператора break убережет вас от сбоев в работе программ, вызываемых попаданием в бесконечный цикл.
Конструкция с else
Иногда необходимо проверить, был ли цикл исполнен до конца или выход произошел с использованием инструкции 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 в Python
Назначение pass — продолжение цикла независимо от наличия внешних условий. В готовом коде pass встречается нечасто, но полезен в процессе разработки и применяется в качестве «заглушки» там, где код еще не написан. Например, нам нужно не забыть добавить условие с буквой «я» из примера выше, но сам этот блок по какой-то причине мы пока не написали. Здесь для корректной работы программы и поможет заглушка pass :
word = input('Введите слово: ')
for i in word:
if i == 'я':
pass
else:
print('Цикл завершен, запрещенных букв не обнаружено')
print('Проверка завершена')
Теперь программа запустится, а pass будет для нас маркером и сообщит о том, что здесь нужно не забыть добавить условие.
Вот и всё, надеемся, скоро break , continue и pass станут вашими верными друзьями в разработке интересных приложений. Успехов!
3. Операторы break и continue для управления работой цикла. Использование else в циклических алгоритмах
Из названия операторов понятно, что один из них прерывает цикл, а другой продолжает. Рассмотрим на примерах применение этих операторов для управления работой цикла.
Пример \(6\)
Предположим, что нам необходимо набрать заголовки в газету, в которых не будет какой-то конкретной буквы (литера с этой буквой потерялась, а новую ещё не успели изготовить).
План решения задачи будет таким: перебираем в цикле for введённое название статьи, и как только находим букву, литера которой утеряна, прерываем перебор. Наличие хотя бы одной такой буквы в названии делает печать заголовка невозможным.

Рис. \(1\). Пример \(6\)
Обрати внимание!
• Оператор break прерывает выполнение того цикла, в котором находится.
Пример \(6\) \((1)\)
Усовершенствуем пример так, чтобы для каждого заголовка нам не приходилось перезапускать программу. Так как количество заголовков нам неизвестно, используем цикл while. Более того, сделаем его бесконечным, а прерывание break поставим таким образом, чтобы пользователь сам решал, хочет ли он продолжать вводить заголовки или нет.

Рис. \(2\). Пример \(6\) \((1)\)
Обрати внимание!
• Первый оператор break прерывает выполнение цикла for, так как находится в этом цикле, второй оператор break прерывает выполнение цикла while.
• Цикл for вложен в цикл while, и пока не будет выполнен внутренний цикл по перебору букв в заголовке, внешний цикл не перейдёт к следующей итерации.
• Для цикла while мы использовали логическое условие True и таким образом организовали бесконечный цикл.
Пример \(6\) \((2)\)
Программу можно ещё усовершенствовать, ведь если нам встречается утерянная литера, мы получаем комментарий о необходимости менять заголовок, а вот в противном случае комментария нет. Проанализируем, когда должен появиться комментарий «Заголовок принят». В том случае, если цикл for завершится, а не прервётся. Для такого действия в Python есть уникальная возможность использования оператора else.

Рис. \(3\). Пример \(6\) \((2)\)
Обрати внимание!
• Заголовок «Береги жилище от пожара» не содержит утерянной литеры, то есть цикл завершается полностью, и только в этом случае работает оператор print (‘Заголовок принят’).
• Оператор else может использоваться в циклических алгоритмах for и while.
Пример \(6\) \((3)\)
Допустим, мы теряем только литеры с русскими буквами, а в заголовках могут встречаться и латинские. Разумно не проверять, а пропустить эти буквы.

Рис. \(4\). Пример \(6\) \((3)\)
Обрати внимание!
• Оператор continue позволяет перейти к следующей итерации до того, как цикл будет закончен.
• Условие if \(‘A’• У буквы Е русского алфавита и у буквы E латинского алфавита, несмотря на похожие очертания, разные коды, поэтому программа не приняла второй заголовок.
