Break в питоне: Циклы for и while, операторы break и continue, волшебное слово else
Содержание
break, continue, pass — Документация Python для сетевых инженеров 3.0
В Python есть несколько операторов, которые позволяют менять поведение
циклов по умолчанию.
Оператор break
Оператор break позволяет досрочно прервать цикл:
- break прерывает текущий цикл и продолжает выполнение следующих выражений
- если используется несколько вложенных циклов, break прерывает внутренний цикл
и продолжает выполнять выражения, следующие за блоком
* break может использоваться в циклах for и while
Пример с циклом for:
In [1]: for num in range(10): ...: if num < 7: ...: print(num) ...: else: ...: break ...: 0 1 2 3 4 5 6
Пример с циклом while:
In [2]: i = 0 In [3]: while i < 10: ...: if i == 5: ...: break ...: else: ...: print(i) ...: i += 1 ...: 0 1 2 3 4
Использование break в примере с запросом пароля (файл
check_password_with_while_break.py):
username = input('Введите имя пользователя: ' ) password = input('Введите пароль: ' ) while True: if len(password) < 8: print('Пароль слишком короткий\n') elif username in password: print('Пароль содержит имя пользователя\n') else: print('Пароль для пользователя {} установлен'.format(username)) # завершает цикл while break password = input('Введите пароль еще раз: ')
Теперь можно не повторять строку
password = input('Введите пароль еще раз: ')
в каждом ответвлении,
достаточно перенести ее в конец цикла.
И, как только будет введен правильный пароль, break выведет программу из
цикла while.
Оператор continue
Оператор continue возвращает управление в начало цикла. То есть,
continue позволяет «перепрыгнуть» оставшиеся выражения в цикле и перейти
к следующей итерации.
Пример с циклом for:
In [4]: for num in range(5): ...: if num == 3: ...: continue ...: else: ...: print(num) ...: 0 1 2 4
Пример с циклом while:
In [5]: i = 0 In [6]: while i < 6: ....: i += 1 ....: if i == 3: ....: print("Пропускаем 3") ....: continue ....: print("Это никто не увидит") ....: else: ....: print("Текущее значение: ", i) ....: Текущее значение: 1 Текущее значение: 2 Пропускаем 3 Текущее значение: 4 Текущее значение: 5 Текущее значение: 6
Использование continue в примере с запросом пароля (файл
check_password_with_while_continue.py):
username = input('Введите имя пользователя: ') password = input('Введите пароль: ') password_correct = False while not password_correct: if len(password) < 8: print('Пароль слишком короткий\n') elif username in password: print('Пароль содержит имя пользователя\n') else: print('Пароль для пользователя {} установлен'.format(username)) password_correct = True continue password = input('Введите пароль еще раз: ')
Тут выход из цикла выполнятся с помощью проверки флага
password_correct. Когда был введен правильный пароль, флаг выставляется
равным True, и с помощью continue выполняется переход в начало цикла,
перескочив последнюю строку с запросом пароля.
Результат выполнения будет таким:
$ python check_password_with_while_continue.py Введите имя пользователя: nata Введите пароль: nata12 Пароль слишком короткий Введите пароль еще раз: natalksdjflsdjf Пароль содержит имя пользователя Введите пароль еще раз: asdfsujljhdflaskjdfh Пароль для пользователя nata установлен
Оператор pass
Оператор pass
ничего не делает. Фактически, это такая заглушка для
объектов.
Например, pass
может помочь в ситуации, когда нужно прописать
структуру скрипта. Его можно ставить в циклах, функциях, классах. И это
не будет влиять на исполнение кода.
Пример использования pass:
In [6]: for num in range(5): ....: if num < 3: ....: pass ....: else: ....: print(num) ....: 3 4
Break и Continue в Python
Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем использовать инструкции Break в Python.
Оператор Break в Python
Оператор Break позволяет вам выйти из цикла из любой точки внутри своего тела, минуя его нормальное выражение завершения .
В чем разница между «Break» и «Continue» в Python?
Как видно из приведенного выше изображения, когда оператор break встречается внутри цикла, цикл немедленно прекращается, и программный контроль возобновляется при следующем утверждении, следующем за циклом.
Оператор Break в цикле While
n=1
while True:
print (n)
n+=1
if n==5:
break
print(«After Break»)
n=1 while True: print (n) n+=1 if n==5: break print(«After Break») |
Вывод:
В вышеприведенной программе, когда n == 5, оператор break выполнил и сразу же завершил цикл while, и управление программой возобновилось в следующем выражении.
for str in «Python»:
if str == «t»:
break
print(str)
print(«Exit from loop»)
for str in «Python»: if str == «t»: break print(str) print(«Exit from loop») |
Вывод:
Оператор Continue в Python
Оператор Continue работает как break, но вместо принудительного завершения он заставляет следующую итерацию цикла проходить и пропускает остальную часть кода.
Continue в цикле while
n=0
while n < 5:
n+=1
if n==3:
continue
print (n)
print(«Loop Over»)
n=0 while n < 5: n+=1 if n==3: continue print (n) print(«Loop Over») |
Вывод:
В приведенной выше программе мы видим, что на выходе 3 отсутствует. Это связано с тем, что при n == 3 цикл встречает оператор continue и управление возвращается к началу цикла.
n=0
for n in range(5):
n+=1
if n==3:
continue
print(n)
print(«Loop Over»)
n=0 for n in range(5): n+=1 if n==3: continue print(n) print(«Loop Over») |
Вывод:
В приведенной выше программе мы видим, что на выходе 3 отсутствует. Это связано с тем, что при n == 3 цикл встречает оператор Continue и управление возвращается к началу цикла.
Источник: net-informations.com
Использование выражений Break, Continue и Pass при работе с циклами в Python 3
Введение
Использование циклов for и циклов while в Python помогает эффективно автоматизировать и воспроизводить задачи.
Однако иногда на работу вашей программы может влиять внешний фактор. Когда это произойдет, вы можете захотеть, чтобы ваша программа полностью вышла из цикла, пропустила часть цикла и продолжила его выполнение или игнорировала этот внешний фактор. Для этих действий используются выражения break
, continue
и pass
.
Выражение Break
В Python выражение break
дает вам возможность выйти из цикла при активации внешнего условия. Выражение break
помещается в блок кода внутри выражения loop, обычно после условного выражения if
.
Рассмотрим пример использования выражения break
в цикле for
:
number = 0
for number in range(10):
if number == 5:
break # break here
print('Number is ' + str(number))
print('Out of loop')
В этой небольшой программе переменная number
инициализируется как 0. Затем выражение for
строит цикл, пока значение переменной number
составляет меньше 10.
В цикле for
имеется выражение if
, которое задает условие, что если значение переменной number
равно целому числу 5, то цикл прекращается.
В цикле также содержится выражение print()
, которое выполняется с каждой итерацией цикла for
, пока цикл не прекращается, поскольку оно располагается после выражения break
.
Чтобы узнавать о выходе из цикла, мы добавили завершающее выражение print()
вне цикла for
.
При выполнении этого кода результат будет выглядеть следующим образом:
Output
Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop
Это показывает, что когда переменная number
оценивается как эквивалентная целому числу 5, цикл прекращается, поскольку программа получает соответствующее указание через выражение break
.
Выражение break
заставляет программу выйти из цикла.
Выражение Continue
Выражение continue
дает возможность пропустить часть цикла, где активируется внешнее условие, но при этом выполнить остальную часть цикла. При этом прерывается текущая итерация цикла, но программа возвращается к началу цикла.
Выражение continue
размещается в блоке кода под выражением цикла, обычно после условного выражения if
.
Мы используем ту же программу с циклом for
, что и в разделе «Выражение Break» выше, но при этом используем выражение continue
вместо выражения break
:
number = 0
for number in range(10):
if number == 5:
continue # continue here
print('Number is ' + str(number))
print('Out of loop')
Отличие выражения continue
от выражения break
заключается в том, что код продолжит выполняться несмотря на прерывание, если значение переменной number
будет оценено как равное 5. Давайте посмотрим на результаты:
Output
Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop
В этом выводе условие Number is 5
никогда не выполняется, но цикл продолжается после этого, чтобы выводить линии для чисел 6–10 до выхода из цикла.
Вы можете использовать выражение continue
, чтобы избежать использования глубоко вложенного условного кода или чтобы оптимизировать цикл, устранив часто встречающиеся случаи, которые вы хотите отклонять.
Выражение continue
заставляет программу пропустить определенную часть цикла, а затем продолжить выполнение оставшейся части цикла.
Выражение Pass
При активации внешнего условия выражение pass
позволяет обрабатывать условия без влияния на цикл; чтение кода будет продолжаться до появления выражения break
или другого выражения.
Как и в случае с другими выражениями, выражение pass
будет содержаться в блоке кода до выражения loop, обычно после условного выражения if
.
Используя тот же код выше, попробуйте заменить выражение break
или continue
выражением pass
:
number = 0
for number in range(10):
if number == 5:
pass # pass here
print('Number is ' + str(number))
print('Out of loop')
Выражение pass
, появляющееся после условного выражения if
, указывает программе на необходимость продолжить выполнение цикла и игнорировать тот факт, что переменная number
оценивается как равная 5 во время одной из итераций.
Мы запустим программу и оценим вывод:
Output
Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop
Используя выражение pass
в этой программе, мы видим, что программа работает точно так же, как если бы в ней не было условного выражения. Выражение pass
предписывает программе игнорировать это условие и продолжать обычное выполнение программы.
Выражение pass
может создавать минимальные классы или выступать в качестве замещающего элемента при работе с новым кодом и действовать на уровне алгоритмов, прежде чем отрабатывать детали.
Заключение
Выражения break
, continue
и pass
в Python позволяют использовать циклы for
и while
в вашем коде более эффективно.
Чтобы больше поработать с выражениями break
и pass
, вы можете выполнить учебный модуль нашего проекта «Создание бота Twitterbot с помощью Python 3 и библиотеки Tweepy».
Инструкции break, continue и else в циклах Python.
Поведение цикла, при использовании инструкций break, continue и else.
Заявление break
, как и в C, прерывает выполнение блока for
или while
с выходом из него.
Операторы цикла могут иметь блок else
, который выполняется, когда цикл заканчивается исчерпанием итерируемого объекта для for
или когда условие становится ложным для while
, но не тогда, когда цикл завершается оператором break
. Это иллюстрируется следующим циклом, который ищет простые числа:
>>> for n in range(2, 10): ... for x in range(2, n): ... if n % x == 0: ... print(n, 'equals', x, '*', n//x) ... break ... else: ... # loop fell through without finding a factor ... print(n, 'is a prime number') ... 2 is a prime number 3 is a prime number 4 equals 2 * 2 5 is a prime number 6 equals 2 * 3 7 is a prime number 8 equals 2 * 4 9 equals 3 * 3 >>>
Это правильный код. Посмотрите внимательно, инструкция else
относится к блоку цикла for/in
, а не к оператору if
.
Оператор else
в циклах, имеет больше общего с else
в конструкциях с try
, чем в конструкциях с if
. В конструкциях с оператором try
, else
выполняется тогда, когда не поднимается исключение, и оператор цикла else
выполняется тогда, когда не срабатывает break. Подробнее о конструкциях try/except/else/finally
и исключениях смотри в разделе Обработка исключений.
Заявление continue
, также заимствованы из C, при их применении в коде, цикл продолжается со следующей итерации:
>>> for num in range(2, 10): ... if num % 2 == 0: ... print("Found an even number", num) ... continue ... print("Found a number", num) Found an even number 2 Found a number 3 Found an even number 4 Found a number 5 Found an even number 6 Found a number 7 Found an even number 8 Found a number 9 >>>
Язык программирования «Python». Цикл while. Инструкции break, continue, else
24. Цикл while. Инструкции break, continue, else
25. Функция range и итерируемые объекты
26. Цикл for. Обход элементов функции range
27. Цикл for. Обход списков и строк
28. Установка, настройка и использование PyCharm
29. Метод подсчета. Сортировка подсчетом Python
30. Вложенные циклы
31. Вложенные списки
32. Треугольник Паскаля
Как сделать «двойной break», то есть выйти из вложенного цикла, в Python?
Условие:
Перебрать все пары символов в строке, и остановиться при нахождении двух одинаковых символов.
Решение достаточно очевидное, но возникает вопрос:
s = "какая-то строка"
for i in range(len(s)):
for j in range(i+1, len(s)):
if s[i] == s[j]:
print(i, j)
break # Как выйти сразу из двух циклов?
Если бы мы программировали, например, на Java, то мы могли бы воспользоваться механизмом меток:
outterLoop: for(int i=0; i<n; i++){
for(int j=i; j<n; j++){
if(/*something*/){
break outterLoop;
}
}
}
Однако в Python такого механизма нет. Требуется предложить наиболее удобное в использовании и читаемое решение.
Возможные варианты ответа
- Поместить цикл в тело функции, а затем сделать
return
из неё:def func(): s="teste" for i in range(len(s)): for j in range(i+1, len(s)): if s[i]==s[j]: print(i,j) return func()
Почему это плохая идея: разумеется, сама задача в условии — лишь абстрактный пример. В жизни циклов может быть гораздо больше, и создавать по функции для каждого из них как-то неестественно, не так ли?
- Выбросить исключение и поймать его снаружи цикла:
try: s="teste" for i in range(len(s)): for j in range(i+1, len(s)): if s[i]==s[j]: print(i,j) raise Exception() except: print("the end")
Почему это плохая идея: здесь мы используем механизм исключений как особую форму
goto
, но ведь на самом деле ничего исключительного в коде не произошло — это обычная ситуация. Как минимум, причины такого злоупотребления этим механизмом будут непонятны другим программистам. - Можно создать булевую переменную, которая будет хранить информацию о том, нужно ли выходить из внешнего цикла на данной итерации:
exitFlag=False s="teste" for i in range(len(s)): for j in range(i+1, len(s)): if s[i]==s[j]: print(i,j) exitFlag=True break if(exitFlag): break
Почему это плохая идея: из всех перечисленных выше идей эта, пожалуй, лучшая. Тем не менее, это весьма низкоуровневый подход, и в языке Python есть возможность реализовать задуманное гораздо лучше.
- Использовать вместо двух циклов
for
одинwhile
:s="teste" i=0 j=1 while i < len(s): if s[i] == s[j]: print(i, j) break j=j+1 i=i+j//len(s) j=j%len(s)
Почему это плохая идея: вам не кажется, что такой код читается хуже всех предложенных вариантов?
Решение на пятёрку
Давайте ещё раз внимательно прочитаем условие:
Перебрать все пары символов в строке, и остановиться при нахождении двух одинаковых символов.
Где там вообще хоть слово про двойной цикл или про перебор двух индексов? Нам нужно перебирать пары. Значит, по идее, мы должны написать что-то вроде этого:
s = "teste"
for i, j in unique_pairs(len(s)):
if s[i] == s[j]:
print(i, j)
break
Отлично, так мы будем перебирать пары. Но как нам добиться именно такой формы записи? Всё очень просто, нужно создать генератор. Делается это следующим образом:
def unique_pairs(n):
for i in range(n):
for j in range(i+1, n):
yield i, j
«Как это работает?» — спросите вы. Всё просто. При вызове unique_pairs(int)
код в теле функции не вычисляется. Вместо этого будет возвращён объект генератора. Каждый вызов метода next()
этого генератора (что неявно происходит при каждой итерации цикла for
) код в его теле будет выполняться до тех пор, пока не будет встречено ключевое слово yield
. После чего выполнение будет приостановлено, а метод вернёт указанный объект (здесь yield
действует подобно return). При следующем вызове функция начнёт выполняться не с начала, а с того места, на котором остановилась в прошлый раз. При окончании перебора будет выброшено исключение StopIteration
.
Итак, самый true pythonic way в решении этой задачи:
def unique_pairs(n):
for i in range(n):
for j in range(i+1, n):
yield i, j
s = "a string to examine"
for i, j in unique_pairs(len(s)):
if s[i] == s[j]:
print(i, j)
break
UPD: в комментариях подсказывают, что такой генератор уже реализован в стандартной библиотеке:
itertools.combinations(s, 2)
Что же, для данной задачи это действительно более pythonic решение. Хочется отметить, что целью статьи было скорее познакомить новичков с механизмом генераторов, нежели действительно решить проблему, заявленную в первом абзаце 😉
Свои варианты предлагайте в комментариях!
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
Разбор взять из статьи «Breaking out of two loops»
Команда break и выход из цикла
Чтобы немедленно прервать цикл while без выполнения оставшегося кода в цикле независимо от состояния условия, используйте команду break. Команда break управляет ходом выполнения программы; она позволит вам управлять тем, какая часть кода выполняется, а какая нет.
Рассмотрим пример — программу, которая спрашивает у пользователя, в каких городах он бывал. Чтобы прервать цикл while, программа выполняет команду break, как только пользователь введет значение ‘quit’:
cities.py
prompt = »
Please enter the name of a city you have visited:»
prompt += »
(Enter ‘quit’ when you are finished.) «
(1) while True:
. .city = input(prompt)
. .
. .if city == ‘quit’:
. . . .break
. .else:
. . . .print(«I’d love to go to » + city.title() + «!»)
Цикл, который начинается с while True (1) , будет выполняться бесконечно — если только в нем не будет выполнена команда break. Цикл в программе продолжает запрашивать у пользователя названия городов, пока пользователь не введет строку ‘quit’. При вводе строки ‘quit’ выполняется команда break, по которой Python выходит из цикла:
Please enter the name of a city you have visited:
(Enter ‘quit’ when you are finished.) New York
I’d love to go to New York!
Please enter the name of a city you have visited:
(Enter ‘quit’ when you are finished.) San Francisco
I’d love to go to San Francisco!
Please enter the name of a city you have visited:
(Enter ‘quit’ when you are finished.) quit
примечание
Команда break может использоваться в любых циклах Python. Например, ее можно включить в цикл for для перебора элементов словаря.
Python прервать и продолжить
Какая польза от break и continue в Python?
В Python операторы break
и continue
могут изменять ход обычного цикла.
Циклы повторяются по блоку кода до тех пор, пока тестовое выражение не станет ложным, но иногда мы хотим завершить текущую итерацию или даже весь цикл без проверки тестового выражения.
В этих случаях используются операторы break
и continue
.
Оператор разрыва Python
Оператор break
завершает цикл, содержащий его. Управление программой передается оператору сразу после тела цикла.
Если оператор break
находится внутри вложенного цикла (цикл внутри другого цикла), оператор break
завершит самый внутренний цикл.
Синтаксис прерывания
перерыв
Схема поломки
Блок-схема оператора break в Python
Ниже показана работа оператора break в цикле for и while.
Работа оператора break
Пример: Python break
# Использование оператора break внутри цикла
для val в "строке":
если val == "i":
перерыв
печать (val)
print («Конец»)
Выход
с т р Конец
В этой программе мы перебираем последовательность «строка» . Проверяем, есть ли буква и , после чего вырываемся из цикла. Следовательно, в нашем выводе мы видим, что печатаются все буквы до и .После этого цикл завершается.
Оператор продолжения Python
Оператор continue
используется для пропуска остальной части кода внутри цикла только для текущей итерации. Цикл не прекращается, но продолжается со следующей итерации.
Синтаксис продолжения
продолжить
Блок-схема продолжения
Блок-схема оператора continue в Python
Работа оператора continue
в циклах for и while показана ниже.
Как оператор continue работает в Python
Пример: Python continue
# Программа, показывающая использование оператора continue внутри циклов
для val в "строке":
если val == "i":
Продолжить
печать (val)
print («Конец»)
Выход
с т р п грамм Конец
Эта программа аналогична приведенному выше примеру, за исключением того, что оператор break
был заменен на continue
.
Продолжаем цикл, если строка i , не выполняя остальную часть блока.Следовательно, в нашем выводе мы видим, что печатаются все буквы, кроме и .
Python Break and Continue: пошаговое руководство
Оператор break в Python останавливает цикл, в который помещается оператор. Оператор Python continue пропускает одну итерацию цикла. Операторы break и continue можно использовать в циклах for или while.
Найди свой матч на тренировочном лагере
- Карьера Карма подойдет вам с лучшими техническими учебными курсами
- Получите эксклюзивные стипендии и подготовительные курсы
Найди свой матч на учебном лагере
- Карьера Карма подойдет вам с лучшими техническими учебными курсами
- Получите эксклюзивные стипендии и подготовительные курсы
Вы можете пропустить конкретную итерацию цикла или полностью остановить цикл.Вот тут-то и пригодятся операторы break и continue. Эти операторы позволяют управлять ходом цикла.
Встроенный в Python оператор break позволяет выйти из цикла при выполнении условия. Оператор continue позволяет пропустить часть цикла при выполнении условия. В этом руководстве мы собираемся обсудить, как использовать операторы Python break и continue.
Обновление цикла
Программисты используют циклы для автоматизации и повторения аналогичных задач.Одна из наиболее часто используемых петель — это петля на . Цикл для повторяет блок кода до тех пор, пока выполняется определенное условие. Вот синтаксис цикла для в Python:
Найди свой матч на учебном лагере
- Карьера Карма подойдет вам с лучшими техническими учебными курсами
- Получите эксклюзивные стипендии и подготовительные курсы
для iterating_variable в диапазоне: run_code
Следующий цикл для будет перебирать список чисел от 0 до 2 и распечатывать их:
для i в диапазоне (0,3): печать (я)
Наш код возвращает следующее:
В нашем примере кода значение i было распечатано три раза.Это базовый пример цикла. Он демонстрирует, как программист может использовать циклы для выполнения повторяющихся задач в блоке кода.
Заявление о прерывании Python
Оператор break в Python останавливает цикл, в который помещается оператор. Когда выполняется оператор break, выполняются операторы после содержимого цикла.
Карьера Карма вошла в мою жизнь, когда я больше всего в ней нуждалась, и быстро помогла мне пройти курс обучения. Через два месяца после выпуска я нашла работу своей мечты, которая соответствовала моим ценностям и целям в жизни!
Venus, инженер-программист Rockbot
Найдите свой матч на учебном лагере
Оператор break можно поместить во вложенный цикл.Если оператор break появляется во вложенном цикле, только внутренний цикл перестанет выполняться. Внешний цикл будет продолжать выполняться до тех пор, пока не будут выполнены все итерации или пока внешний цикл не будет прерван с помощью оператора break.
Вы можете использовать операторы break для выхода из цикла при выполнении определенного условия. Вы объявляете оператор break в своем цикле, обычно под оператором if .
Пример прерывания Python
Например, вы можете распечатать список имен учащихся.Вы хотите, чтобы ваша программа остановилась после того, как будет напечатано второе имя. Это позволит вам убедиться, что программа работает. Вот пример программы, в которой для этого используется оператор break :
студентов = [«Пол», «Эрин», «Конни», «Мойра»] для ученика в диапазоне (0, len (студенты)): если студент == 2: перерыв еще: печать (студенты [студент]) print («Счетчик» + str (студент)) print («Программа завершена»)
Сначала мы объявили список Python. Этот список содержит имена учеников класса.Затем мы создали цикл для . Этот цикл выводит имя каждого ученика в оболочку Python.
Внутри цикла for мы добавили оператор break. Этот оператор будет выполнен, если в нашем списке у студента есть индексное значение 2. Когда запускается оператор break, цикл останавливается.
Наш код возвращает следующее:
Пол Счетчик 0 Эрин Счетчик 1 Программа завершена
Наша программа распечатала имена первых двух студентов (которые имеют значения индекса и 1 в нашем массиве).Когда программа достигает ученика со значением индекса 2 , цикл завершается. В конце нашей программы был выполнен оператор Python print .
Мы использовали предложение else, чтобы сообщить нашей программе, что делать, если наше условие не выполняется. Если наше условие не выполняется, имя учащегося, по которому мы выполняем итерацию, выводится на консоль Python.
break операторы заставляют программу останавливать цикл. Программа продолжает выполнять следующие операторы в основной программе после разрыва цикла.
Python Продолжить Заявление
Оператор continue предписывает циклу перейти к следующей итерации. Любой код, следующий за оператором continue, не выполняется. В отличие от оператора break, оператор continue не останавливает цикл полностью.
Вы можете использовать оператор continue в Python, чтобы пропустить часть цикла при выполнении условия. Затем остальная часть цикла продолжит работу. Вы используете операторы continue внутри циклов, обычно после оператора if .
Продолжить пример Python
Давайте используем пример, чтобы проиллюстрировать, как работает оператор continue в Python. В следующем примере мы используем оператор continue , чтобы пропустить печать второго имени в нашем массиве, а затем продолжить итерацию:
студентов = [«Пол», «Эрин», «Конни», «Мойра»] для ученика в диапазоне (0, len (студенты)): если студент == 2: Продолжить еще: печать (студенты [студент]) print («Счетчик» + str (студент)) print («Программа завершена»)
Наш код возвращает следующее:
Пол Счетчик 0 Эрин Счетчик 1 Мойра Счетчик 3 Программа завершена
Наша инструкция continue выполняется при срабатывании внешнего условия.В нашей программе это условие «студент == 2». Когда student равно 2, наша программа прекращает выполнение этой итерации цикла.
Наша программа продолжила итерацию по последующим элементам списка после выполнения нашего оператора continue. Если бы мы использовали оператор break, наш цикл полностью остановился бы.
У оператора continue есть несколько вариантов использования. Например, скажем, вы проверяли данные. Вы можете захотеть, чтобы ваш цикл пропустил итерацию, если значение пустое.Это связано с тем, что пустое значение может прервать выполнение вашего кода проверки.
Заключение
Когда вы работаете с циклами в Python, вы можете пропустить итерацию или полностью остановить цикл. Здесь полезны операторы continue и break соответственно.
В этом руководстве мы обсудили, как использовать операторы break и continue в Python для более эффективного использования циклов в вашем коде.Теперь вы готовы работать с операторами break, и continue, , как эксперт по Python!
Чтобы узнать больше о кодировании на Python, прочтите наше полное руководство по изучению Python.
Python «while» циклы (неопределенная итерация) — Real Python
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Mastering While Loops
Итерация означает выполнение одного и того же блока кода снова и снова, возможно, много раз.Структура программирования, реализующая итерацию, называется циклом .
В программировании есть два типа итераций, неопределенные и определенные:
При неопределенной итерации количество выполнений цикла не указывается заранее явно. Напротив, назначенный блок выполняется многократно, пока выполняется какое-либо условие.
При определенной итерации , количество раз, когда назначенный блок будет выполняться, указывается явно в момент начала цикла.
В этом руководстве вы наберете:
- Узнайте о цикле
while
, управляющей структуре Python, используемой для неопределенной итерации - Узнайте, как преждевременно выйти из цикла или итерации цикла
- Исследуйте бесконечные циклы
Когда вы закончите, вы должны хорошо понимать, как использовать неопределенную итерацию в Python.
Пройдите викторину: Проверьте свои знания с помощью нашей интерактивной викторины «Python во время цикла».По завершении вы получите оценку, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройдите тест »
Цикл
, а
Цикл
Давайте посмотрим, как операторы Python while
используются для построения циклов. Мы начнем с простого и будем приукрашивать.
Формат рудиментарного цикла и
показан ниже:
, а <выражение>:
<заявление (я)>
<оператор (ы)>
представляет блок, который должен быть повторно выполнен, часто называемый телом цикла.Это обозначается отступом, как в операторе if
.
Помните: Все управляющие структуры в Python используют отступ для определения блоков. См. Обсуждение операторов группировки в предыдущем учебном пособии.
Управляющее выражение
обычно включает одну или несколько переменных, которые инициализируются перед запуском цикла, а затем изменяются где-то в теле цикла.
Когда встречается цикл и
, сначала выполняется оценка
в логическом контексте.Если это правда, тело цикла выполняется. Затем
проверяется снова, и если все еще истинно, тело выполняется снова. Это продолжается до тех пор, пока
не станет ложным, после чего выполнение программы перейдет к первому оператору за пределами тела цикла.
Рассмотрим этот цикл:
>>>
1 >>> п = 5
2 >>> пока n> 0:
3 ... п - = 1
4 ... печать (n)
5 ...
64
73
82
91
100
Вот что происходит в этом примере:
n
изначально равно5
.Выражение в заголовке оператораи
в строке 2 —n> 0
, что верно, поэтому тело цикла выполняется. Внутри тела цикла в строке 3n
уменьшается на1
до4
, а затем печатается.Когда тело цикла завершено, выполнение программы возвращается к началу цикла в строке 2, и выражение вычисляется снова. Это все еще верно, поэтому тело снова выполняется, и печатается
3
.Это продолжается до тех пор, пока
n
не станет0
. В этот момент, когда выражение проверяется, оно ложно, и цикл завершается. Выполнение будет возобновлено с первого оператора, следующего за телом цикла, но в данном случае его нет.
Обратите внимание, что сначала проверяется управляющее выражение цикла while
, прежде чем произойдет что-либо еще. Если изначально задано значение false, тело цикла никогда не будет выполнено:
>>>
>>> п = 0
>>> пока n> 0:
... n - = 1
... печать (n)
...
В приведенном выше примере, когда встречается цикл, n
равно 0
. Управляющее выражение n> 0
уже ложно, поэтому тело цикла никогда не выполняется.
Вот еще один цикл , в то время как
включает список, а не числовое сравнение:
>>>
>>> a = ['foo', 'bar', 'baz']
>>> а:
... печать (a.pop (-1))
...
баз
бар
фу
Когда список оценивается в логическом контексте, он является истинным, если в нем есть элементы, и ложным, если он пуст.В этом примере a
истинно, пока в нем есть элементы. После того, как все элементы были удалены с помощью метода .pop ()
и список пуст, a
будет ложным, и цикл завершится.
Python
break
и continue
Утверждения
В каждом из примеров, которые вы видели до сих пор, все тело цикла и
выполняется на каждой итерации. Python предоставляет два ключевых слова, которые преждевременно завершают итерацию цикла:
Оператор Python
break
немедленно полностью завершает цикл.Выполнение программы переходит к первому оператору, следующему за телом цикла.Оператор Python
continue
немедленно завершает текущую итерацию цикла. Выполнение переходит к началу цикла, и управляющее выражение повторно оценивается, чтобы определить, будет ли цикл выполняться снова или завершиться.
Различие между break
и continue
показано на следующей диаграмме:
break and continue
Вот файл сценария под названием break.py
, демонстрирующий оператор break
:
1n = 5
2 при n> 0:
3 п - = 1
4, если n == 2:
5 перерыв
6 отпечатков (п)
7print ('Цикл закончился.')
Запуск break.py
из интерпретатора командной строки дает следующий вывод:
C: \ Users \ john \ Documents> python break.py
4
3
Цикл закончился.
Когда n
становится 2
, выполняется оператор break
.Цикл полностью завершается, и выполнение программы переходит к оператору print ()
в строке 7.
Следующий сценарий, continue.py
, идентичен, за исключением оператора continue
вместо разрыва
:
1n = 5
2 при n> 0:
3 п - = 1
4, если n == 2:
5 продолжить
6 отпечатков (п)
7print ('Цикл закончился.')
Результат continue.py
выглядит так:
C: \ Users \ john \ Documents> python continue.ру
4
3
1
0
Цикл закончился.
На этот раз, когда n
равно 2
, оператор continue
вызывает завершение этой итерации. Таким образом, 2
не печатается. Выполнение возвращается к началу цикла, условие переоценивается, и оно по-прежнему остается верным. Цикл возобновляется и завершается, когда n
становится 0
, как и раньше.
иначе
Пункт
Python допускает необязательное предложение else
в конце цикла while
.Это уникальная особенность Python, которой нет в большинстве других языков программирования. Синтаксис показан ниже:
, а <выражение>:
<заявление (я)>
еще:
<дополнительные_условия>
, указанное в предложении else
, будет выполнено, когда цикл , а
завершится.
Примерно сейчас вы можете подумать: «Чем это полезно?» Вы можете сделать то же самое, поместив эти операторы сразу после цикла while
, без else
:
, а <выражение>:
<заявление (я)>
<дополнительные_условия>
В чем разница?
В последнем случае, без предложения else
,
будет выполняться после , а цикл
завершится, несмотря ни на что.
Когда
помещены в предложение else
, они будут выполнены, только если цикл завершится «по исчерпанию», то есть если цикл повторяется до тех пор, пока управляющее условие не станет ложным. Если цикл завершается оператором break
, предложение else
выполняться не будет.
Рассмотрим следующий пример:
>>>
>>> п = 5
>>> пока n> 0:
... п - = 1
... print (n)
... еще:
... print ('Цикл выполнен.')
...
4
3
2
1
0
Петля сделана.
В этом случае цикл повторяется до тех пор, пока условие не будет исчерпано: n
превратилось в 0
, поэтому n> 0
стало ложным. Поскольку цикл дожил, так сказать, свою естественную жизнь, условие else
было выполнено. Теперь обратите внимание на разницу:
>>>
>>> п = 5
>>> пока n> 0:
... п - = 1
... печать (n)
... если n == 2:
... перерыв
... еще:
... print ('Цикл выполнен.')
...
4
3
2
Этот цикл прерывается преждевременно с break
, поэтому предложение else
не выполняется.
Может показаться, что значение слова else
не совсем соответствует циклу while
, а также оператору if
. Гвидо ван Россум, создатель Python, на самом деле сказал, что, если бы ему пришлось повторить это снова, он бы исключил из языка , а
цикла
, еще
.
Одно из следующих толкований может помочь сделать его более интуитивным:
Думайте о заголовке цикла (
, а n> 0,
) как о, если оператор
(, если n> 0,
), который выполняется снова и снова, причем предложениеelse
, наконец, выполняется, когда условие становится ложный.Думайте о
иначе
, как если бы это былобез перерыва
, в том смысле, что следующий за ним блок выполняется, если не было перерыва
Если вы не находите ни одно из этих толкований полезным, не стесняйтесь игнорировать их.
Когда может быть полезно предложение else
в цикле и
? Одна из распространенных ситуаций - это поиск в списке определенного элемента. Вы можете использовать break
для выхода из цикла, если элемент найден, а предложение else
может содержать код, который должен выполняться, если элемент не найден:
>>>
>>> a = ['foo', 'bar', 'baz', 'qux']
>>> s = 'corge'
>>> я = 0
>>> пока я
Примечание: Приведенный выше код полезен для иллюстрации концепции, но на самом деле вы вряд ли будете искать в списке таким образом.
Прежде всего, списки обычно обрабатываются с определенной итерацией, а не с циклом при
. Определенная итерация рассматривается в следующем руководстве этой серии.
Во-вторых, Python предоставляет встроенные способы поиска элемента в списке. Вы можете использовать в операторе
:
>>>
>>> если в:
... print (s, 'найдено в списке.')
... еще:
... print (s, 'не найдено в списке.')
...
corge не найден в списке.
Также подойдет метод list.index ()
. Этот метод вызывает исключение ValueError
, если элемент не найден в списке, поэтому для его использования необходимо понимать обработку исключений.В Python вы используете оператор try
для обработки исключения. Пример приведен ниже:
>>>
>>> попробуйте:
... печать (a.index ('corge'))
... кроме ValueError:
... print (s, 'не найдено в списке.')
...
corge не найден в списке.
Вы узнаете об обработке исключений позже в этой серии.
Предложение else
с while цикл
- это немного странность, редко встречающаяся. Но не уклоняйтесь от этого, если вы обнаружите ситуацию, в которой, как вам кажется, это добавляет ясности в ваш код!
Бесконечные петли
Предположим, вы пишете цикл и
, который теоретически никогда не заканчивается.Звучит странно, правда?
Рассмотрим следующий пример:
>>>
>>> while True:
... печать ('фу')
...
фу
фу
фу
.
.
.
фу
фу
фу
KeyboardInterrupt
Отслеживание (последний вызов последний):
Файл "", строка 2, в
печать ('фу')
Этот код был прерван командой Ctrl + C , которая генерирует прерывание с клавиатуры. В противном случае это продолжалось бы бесконечно. Многие выходные строки foo
были удалены и заменены вертикальным многоточием в показанном выходе.
Ясно, что Истина
никогда не будет ложью, иначе у всех нас будут большие проблемы. Таким образом, while True:
инициирует бесконечный цикл, который теоретически будет выполняться вечно.
Может быть, это не похоже на то, что вы хотели бы делать, но этот шаблон на самом деле довольно распространен. Например, вы можете написать код для службы, которая запускается и работает постоянно, принимая запросы на обслуживание. «Навсегда» в этом контексте означает, пока вы не выключите его, или пока не наступит тепловая смерть вселенной, в зависимости от того, что наступит раньше.
Проще говоря, помните, что цикл может быть разорван с помощью оператора break
. Может быть проще завершить цикл на основе условий, распознаваемых в теле цикла, а не на основе условия, оцененного наверху.
Вот еще один вариант цикла, показанный выше, который последовательно удаляет элементы из списка с помощью .pop ()
, пока он не станет пустым:
>>>
>>> a = ['foo', 'bar', 'baz']
>>> в то время как True:
... если не:
... перерыв
... печать (a.pop (-1))
...
баз
бар
фу
Когда
становится пустым, не
становится истинным, и оператор break
выходит из цикла.
Вы также можете указать несколько операторов break
в цикле:
пока True:
if : # Одно условие для завершения цикла
перерыв
...
if : # Другое условие завершения
перерыв
...
if : # Еще один
перерыв
В подобных случаях, когда есть несколько причин для завершения цикла, часто лучше прервать
из нескольких разных мест, чем пытаться указать все условия завершения в заголовке цикла.
Бесконечные циклы могут быть очень полезны. Просто помните, что вы должны в какой-то момент разорвать цикл, чтобы он не стал бесконечным.
Вложенные
, а
циклов
В общем, управляющие структуры Python могут быть вложены друг в друга. Например, , если
/ elif
/ else
условных операторов могут быть вложены:
, если возраст <18:
если пол == 'M':
печать ('сын')
еще:
print ('дочь')
elif age> = 18 и age <65:
если пол == 'M':
печать ('отец')
еще:
печать ('мать')
еще:
если пол == 'M':
print ('дедушка')
еще:
print ('бабушка')
Аналогично, цикл while
может содержаться в другом цикле while
, как показано здесь:
>>>
>>> a = ['foo', 'bar']
>>> пока len (a):
... print (a.pop (0))
... b = ['baz', 'qux']
... пока len (b):
... печать ('>', b.pop (0))
...
фу
> баз
> qux
бар
> баз
> qux
break
или continue Оператор
, обнаруженный во вложенных циклах, применяется к ближайшему охватывающему циклу:
, а :
утверждение
утверждение
в то время как :
утверждение
утверждение
break # Применяется к циклу while :
break # Применяется к циклу while :
Кроме того, , а
циклов могут быть вложены в , если
/ elif
/ else
операторов, и наоборот:
, если <выражение>:
утверждение
в то время как :
утверждение
утверждение
еще:
в то время как :
утверждение
утверждение
утверждение
, а <выражение>:
если <выражение>:
утверждение
элиф <выражение>:
утверждение
еще:
утверждение
если <выражение>:
утверждение
Фактически, все управляющие структуры Python могут смешиваться друг с другом в той мере, в какой вам нужно.Так и должно быть. Представьте, как было бы неприятно, если бы возникли неожиданные ограничения, такие как «Цикл , в то время как цикл
не может содержаться в операторе , если
» или «, в то время как циклы
могут быть вложены друг в друга глубиной не более четырех». Вам будет очень сложно их все запомнить.
Кажущиеся произвольными числовые или логические ограничения считаются признаком плохой разработки языка программы. К счастью, вы не найдете многих в Python.
Однострочный
, в то время как
циклов
Как и в случае с оператором if
, цикл while
может быть указан в одной строке.Если в блоке, составляющем тело цикла, несколько операторов, их можно разделить точкой с запятой (;
):
>>>
>>> п = 5
>>> пока n> 0: n - = 1; печать (п)
4
3
2
1
0
Однако это работает только с простыми операторами. Невозможно объединить два составных оператора в одну строку. Таким образом, вы можете указать цикл while
в одной строке, как указано выше, и написать оператор if
в одной строке:
>>>
>>> если True: print ('foo')
фу
Но вы не можете этого сделать:
>>>
>>> при n> 0: n - = 1; если True: print ('foo')
SyntaxError: недопустимый синтаксис
Помните, что PEP 8 не рекомендует использовать несколько операторов в одной строке.Так что вам, вероятно, в любом случае не следует делать это очень часто.
Заключение
В этом руководстве вы узнали о неопределенной итерации с использованием цикла Python while
. Теперь вы можете:
- Построить базовую и сложную
и
петель - Выполнение цикла прерывания с
break
иcontinue
- Используйте предложение
else
с цикломwhile
- Работа с бесконечными циклами
Теперь вы должны хорошо понимать, как многократно выполнять фрагмент кода.
Пройдите викторину: Проверьте свои знания с помощью нашей интерактивной викторины «Python во время цикла». По завершении вы получите оценку, чтобы вы могли отслеживать свой прогресс в обучении с течением времени:
Пройдите тест »
Следующее руководство в этой серии охватывает определенных итераций с для
циклов - повторяющееся выполнение, в котором количество повторений указывается явно.
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python.Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Mastering While Loops
«Как использовать операторы Break, Continue и Pass при работе с циклами» в «Как кодировать в Python 3» на стипендии Manifold в CUNY
Использование для циклов и , в то время как циклы в Python позволяют автоматизировать и эффективно повторяйте задачи.
Но иногда внешний фактор может повлиять на работу вашей программы. Когда это происходит, вы можете захотеть, чтобы ваша программа полностью вышла из цикла, пропустила часть цикла перед продолжением или проигнорировала этот внешний фактор.Вы можете выполнить эти действия с операторами break
, continue
и pass
.
Оператор Break
В Python оператор break
предоставляет вам возможность выйти из цикла при срабатывании внешнего условия. Вы помещаете оператор break
в блок кода под оператором цикла, обычно после условного оператора if
.
Давайте посмотрим на пример, который использует оператор break
в цикле for
:
number = 0
для числа в диапазоне (10):
число = число + 1
если число == 5:
перерыв # перерыв здесь
print ('Число равно' + str (число))
print ('Out of loop')
В этой небольшой программе переменная номер
инициализируется нулем.Затем оператор для
создает цикл до тех пор, пока номер переменной
меньше 10.
В цикле для
число увеличивается постепенно на 1 с каждым проходом, так как строка число = число + 1
.
Затем есть оператор if
, который представляет условие, что , если , переменная номер
эквивалентна целому числу 5, , тогда цикл будет прерван.
Внутри цикла также есть оператор print ()
, который будет выполняться на каждой итерации цикла для
до тех пор, пока цикл не прервется, поскольку он находится после оператора break
.
Чтобы увидеть, когда мы вышли из цикла, мы включили последний оператор print ()
за пределами цикла for
.
Когда мы запустим этот код, наш результат будет следующим:
Выход
Число 1
Число равно 2
Число равно 3
Число 4
Вне цикла
Это показывает, что после того, как целое число число
оценивается как эквивалентное 5, цикл прерывается, поскольку программе предлагается сделать это с помощью оператора break
.
Оператор break
заставляет программу выходить из цикла.
Оператор продолжения
Оператор continue
дает вам возможность пропустить часть цикла, в которой запускается внешнее условие, но продолжить, чтобы завершить оставшуюся часть цикла. То есть текущая итерация цикла будет прервана, но программа вернется в начало цикла.
Оператор continue
будет находиться в блоке кода под оператором цикла, обычно после условного оператора if
.
Используя тот же для программы цикла
, что и в разделе «Оператор прерывания» выше, мы будем использовать оператор continue
, а не оператор break
:
number = 0
для числа в диапазоне (10):
число = число + 1
если число == 5:
continue # продолжить здесь
print ('Число равно' + str (число))
print ('Out of loop')
Разница в использовании оператора continue
вместо оператора break
заключается в том, что наш код продолжит работу, несмотря на сбой, когда переменная number
будет оценена как эквивалент 5.Давайте посмотрим на наш результат:
Выход
Число 1
Число равно 2
Число равно 3
Число 4
Число 6
Число 7
Число 8
Число 9
Число 10
Вне цикла
Здесь мы видим, что строка Number is 5
никогда не встречается в выводе, но цикл продолжается после этой точки, чтобы печатать строки для чисел 6-10 перед выходом из цикла.
Вы можете использовать оператор continue
, чтобы избежать глубоко вложенного условного кода или оптимизировать цикл, исключив часто встречающиеся случаи, которые вы хотели бы отклонить.
Оператор continue
заставляет программу пропускать определенные факторы, возникающие в цикле, но затем продолжать до конца цикла.
Pass Statement
Когда запускается внешнее условие, оператор pass
позволяет обрабатывать условие без какого-либо воздействия на цикл; весь код будет продолжать считываться, если не произойдет перерыв
или другой оператор.
Как и другие операторы, оператор pass
будет находиться в блоке кода под оператором цикла, обычно после условного оператора if
.
Используя тот же блок кода, что и выше, давайте заменим оператор break
или continue
на оператор pass
:
number = 0
для числа в диапазоне (10):
число = число + 1
если число == 5:
пройти # пройти здесь
print ('Число равно' + str (число))
print ('Out of loop')
Оператор pass
, появляющийся после , если условный оператор
сообщает программе продолжить выполнение цикла и игнорировать тот факт, что переменная number
оценивается как эквивалент 5 во время одна из его итераций.
Запустим программу и посмотрим на результат:
Выход
Число 1
Число равно 2
Число равно 3
Число 4
Число 5
Число 6
Число 7
Число 8
Число 9
Число 10
Вне цикла
Используя оператор pass
в этой программе, мы замечаем, что программа работает точно так же, как если бы в программе не было условного оператора. Оператор pass
указывает программе игнорировать это условие и продолжить выполнение программы в обычном режиме.
Оператор pass
может создавать минимальные классы или действовать в качестве заполнителя при работе над новым кодом и мышлении на алгоритмическом уровне, прежде чем приступить к деталям.
Заключение
break
, continue
и pass Операторы
в Python позволят вам использовать для
циклов и , тогда как
циклов более эффективно в вашем коде.
Вы можете увидеть break
и pass
в действии в нашем руководстве «Как создать Twitterbot с Python 3 и библиотекой Tweepy.”
Как использовать Python break для преждевременного завершения цикла
Резюме : в этом руководстве вы узнаете об операторе Python break
и о том, как его использовать для преждевременного выхода из цикла.
Введение в оператор прерывания Python
Иногда требуется преждевременно завершить цикл для
или цикл в то время как
, независимо от результатов условных тестов. В этих случаях вы можете использовать оператор break
:
Язык кода: Python (python)
break
Как правило, вы используете оператор break
с оператором if
для завершения цикла когда условие Истинно
.
Использование Python break с циклом for
Ниже показано, как использовать оператор break
внутри цикла for
:
Язык кода: Python (python)
для индекса в диапазоне (n): если условие: break
В этом синтаксисе, если условие
оценивается как True
, оператор break
немедленно завершает цикл. Остальные итерации выполняться не будут.
В этом примере показано, как использовать оператор break
внутри цикла for
:
Язык кода: Python (python)
для индекса в диапазоне (0, 10): печать (индекс) если index == 3: break
Вывод:
Язык кода: Python (python)
0 1 2 3
Как это работает.
- Цикл
для
выполняет итерацию по 10 числам от 0 до 9 и отображает каждое из них на экране. - Однако, когда счетчик цикла равен 3, оператор
break
немедленно завершает цикл. Поэтому программа выводит на экран всего 4 числа, от 0 до 3.
Когда вы используете оператор break
во вложенном цикле, он завершает самый внутренний цикл. Например:
Язык кода: Python (python)
для x в диапазоне (5): для y в диапазоне (5): если y> 1: перерыв print (f "({x}, {y})")
Вывод:
Язык кода: Python (python)
(0,0) (0,1) (1,0) (1,1) (2,0) (2,1) (3,0) (3,1) (4,0) (4,1)
В этом примере используются два цикла для
, чтобы отобразить на экране координаты от (0,0)
до (5,5)
.
Оператор break
во вложенном цикле завершает самый внутренний цикл, когда y
больше единицы.
Следовательно, вы видите только координаты, значения y которых равны нулю и единице.
Использование оператора break в Python с циклом while
Ниже показано, как использовать оператор break
внутри цикла while
:
Язык кода: Python (python)
условие while: если условие: break
В следующем примере оператор break
используется внутри цикла while
.
Вам будет предложено ввести ваш любимый цвет. Программа остановится, как только вы введете quit
:
Язык кода: Python (python)
print ('- Справка: введите quit для выхода -') в то время как True: color = input ('Введите свой любимый цвет:') если color.lower () == 'выйти': break
Вывод:
Язык кода: Python (python)
- Справка: введите quit для выхода - Введите свой любимый цвет: красный Введите свой любимый цвет: зеленый Введите свой любимый цвет: синий Введите свой любимый цвет: выйти
Как это работает.
-
while True
создает неопределенный цикл. - После ввода
выйти из
условиеcolor.lower () == 'quit'
оценивает значение True, которое выполняет оператор break для завершения цикла. -
color.lower ()
возвращает значениеcolor
в нижнем регистре, так что вы можете ввестиQuit
,QUIT
илиquit
для выхода из программы.
Сводка
- Используйте оператор Python
break
для преждевременного завершения цикла for или while.
Вы нашли это руководство полезным?
Пошаговое руководство по нарушению утверждения
«Break» в Python - это оператор управления циклом. Он используется для управления последовательностью цикла. Предположим, вы хотите завершить цикл и перейти к следующему коду после цикла; break поможет вам в этом. Типичный сценарий использования Break в Python - это когда внешнее условие запускает завершение цикла.
Другой вариант использования «Break» в Python - это когда вы вводите данные для чего-то, распечатываете их с помощью цикла и хотите дать пользователю возможность распечатать его снова.Если пользователь вводит «Нет», цикл можно прервать. Кажется немного запутанным? Не волнуйтесь, в этом руководстве мы рассмотрим некоторые примеры и рассмотрим, как это работает, с точки зрения непрофессионала.
Вы можете использовать break в Python во всех циклах: while, for и nested. Если вы используете его во вложенных циклах, он завершит самый внутренний цикл, в котором вы его использовали, и управление программой перейдет во внешний цикл. Другими словами, он прерывает последовательность цикла, и управление переходит к первому оператору вне цикла.
Синтаксис прерывания в Python
Синтаксис следующий:
перерыв;
Используется после операторов цикла.
Блок-схема прерывания в Python
На следующей блок-схеме показано использование и управление оператором break в цикле.
Использование Break в Python
Поскольку теперь понятно, что такое оператор break, пора взглянуть на несколько примеров и понять, как их использовать. В каждом случае вы будете использовать Break в Python с разными циклами.
Использование прерывания в цикле «пока»
Как вы можете видеть в приведенном выше примере, существует определенное целое число n со значением 0. Затем существует определенный цикл while для печати значения n и увеличения его на единицу после каждой итерации. Затем вы увидели, как он определяет условие для оператора break, когда n становится равным 5. Когда условие выполняется, оператор break завершает цикл, и управление переходит к следующему оператору, который является оператором печати.
Data Science with Python
Ultimate Ticket to Top Data Science Job RolesИзучите курс
Использование прерывания цикла для
В приведенном выше примере используется разрыв в Python в цикле for.Цикл for повторяет каждую букву слова «Python». Когда итерация доходит до буквы «о» и выполняется условие прерывания, цикл завершается.
Вы также можете определить два условия прерывания в одном цикле. Давайте посмотрим на пример, в котором вы можете определить два условия при использовании Break в Python.
Как видите, цикл был прерван при выполнении одного из условий.
Использование прерывания во вложенных циклах
В приведенном выше примере вы видели два списка с четырьмя целыми значениями в каждом.Затем он использовал два цикла for для перебора списков и умножения целых чисел. Затем он определил условия разрыва. Когда условие прерывания было выполнено, самый внутренний цикл был завершен, и управление вернулось к внешнему циклу.
С нетерпением ждете перехода в сферу программирования? Пройдите курс обучения Python и начните свою карьеру в качестве профессионального программиста на Python.
Заключение
Python имеет множество вариантов использования и становится одним из самых популярных языков программирования во всем мире.Перерыв в Python - это всего лишь базовая концепция. Но если вы хотите продолжить карьеру в области разработки программного обеспечения, вы можете выбрать наш курс сертификации Python. Курс предоставляет вам обширный учебный ресурс, который поможет вам преуспеть в языке программирования Python.
Есть к нам вопросы относительно «Break in Python»? Расскажите нам в комментариях, и наши специалисты ответят вам сразу же!
Python Оператор break
Оператор break используется для завершения цикла при выполнении определенного условия.Мы уже узнали в предыдущих руководствах (для цикла и цикла while), что цикл используется для многократного повторения набора операторов, пока условие цикла возвращает истину. Оператор break обычно используется внутри цикла вместе с оператором if, поэтому, когда конкретное условие (определенное в операторе if) возвращает истину, встречается оператор break и цикл завершается.
Например, допустим, мы ищем элемент в списке, поэтому для этого мы запускаем цикл, начиная с первого элемента списка и заканчивая последним элементом списка.Используя оператор break, мы можем завершить цикл, как только элемент будет найден, потому что зачем запускать цикл до конца списка, когда наш элемент найден. Мы можем добиться этого с помощью оператора break (мы увидим этот пример программно в разделе примеров ниже).
Синтаксис оператора break в Python
Синтаксис оператора прерывания в Python аналогичен синтаксису, который мы видели в Java.
перерыв
Схема разрыва
Пример оператора break
В этом примере мы ищем число '88' в данном списке чисел.Требуется отображать все числа до тех пор, пока не будет найдено число ’88’, и когда оно будет найдено, завершить цикл и не отображать остальные числа.
# программа для отображения всех элементов перед числом 88 для чисел в [11, 9, 88, 10, 90, 3, 19]: печать (число) если (число == 88): print («Число 88 найдено») print ("Завершение цикла") перерыв
Выход:
11 9 88 Число 88 найдено Завершение цикла
Примечание: Вы всегда хотели бы использовать оператор break с оператором if, чтобы только тогда, когда условие, связанное с «if», было истинным, встречался только разрыв.