-
Главная
-
Инструкции
-
Python
-
Операторы break, continue и pass в циклах Python 3
При работе с циклами while
и for
бывает необходимо выполнить принудительный выход, пропустить часть или игнорировать заданные условия. Для первых двух случаев используются операторы break
и continue
Python, а для игнорирования условий — инструкция pass
. Давайте посмотрим на примерах, как работают эти операторы.
Инструкция 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
станут вашими верными друзьями в разработке интересных приложений. Успехов!
В этой статье вы познакомитесь с инструкциями break
и continue
— их еще называют инструкциями управления циклом.
Для чего нужны break и continue
Инструкции break
и continue
управляют циклом.
Циклы выполняют блок когда до тех пор, пока условие цикла истинно. Иногда нужно прервать выполнение целого цикла без проверки условия.
В таких случаях нам помогут инструкции break
и continue
.
Инструкция break
Инструкция break
прерывает цикл, в котором он объявлен. После этого управление программой передается инструкции, которая находится после тела цикла.
Если инструкция break
находится внутри вложенного цикла (цикл в цикле), то прерывается внутренний цикл.
Синтаксис break
break
Блок-схема break
Ниже представлен пример работы инструкции break
в циклах for
и while
.
Пример использования break
# Пример использования break внутри цикла
for val in "строка":
if val == "о":
break
print(val)
print("Конец")
Вывод:
с
т
р
Конец
В этой программе мы итерируем строку «строка». В теле цикла мы проверяем буквы — если это «о», прерываем цикл. Как видите, в выводе напечатаны все буквы до «о». Когда переменная val
принимает значение «о», цикл завершается.
Инструкция continue
Инструкция continue
используется для того, чтобы пропустить оставшееся тело цикла текущей итерации. Цикл не завершается, а продолжается со следующей итерации.
Синтаксис continue
continue
Блок-схема continue
Ниже представлен пример работы инструкции continue
в циклах for
и while
.
Пример использования continue
# Пример использования continue внутри цикла
for val in "строка":
if val == "о":
continue
print(val)
print("Конец")
Вывод:
с
т
р
к
а
Конец
Эта программа очень похожа на вышестоящий пример. Единственное отличие — break
мы заменили на continue
.
Мы продолжаем цикл до тех пор, пока не встретим «о» — в этот момент мы пропускаем оставшуюся часть цикла. Как видите, мы напечатали все буквы, кроме «о».
Сегодня мы узнаем об операторах continue и break в Python. Они нужны для изменения потока цикла.
Оператор continue в Python используется для перевода управления программой в начало цикла. Оператор continue пропускает оставшиеся строки кода внутри цикла и запускает следующую итерацию. В основном он используется для определенного условия внутри цикла, чтобы мы могли пропустить конкретный код для определенного условия.
Синтаксис:
#loop statements continue #the code to be skipped
Диаграмма потока
Рассмотрим следующие примеры.
Пример 1:
i = 0 while(i < 10): i = i+1 if(i == 5): continue print(i)
Выход:
1 2 3 4 6 7 8 9 10
Обратите внимание на вывод приведенного выше кода, значение 5 пропущено, потому что мы предоставили условие if с помощью оператора continue в цикле while. Когда он соответствует заданному условию, тогда управление передается в начало цикла while, и оно пропускает значение 5 из кода.
Давайте посмотрим на другой пример.
Пример 2:
str = "JavaTpoint" for i in str: if(i == 'T'): continue print(i)
Выход:
J a v a p o i n t
Оператор pass
Оператор pass является нулевой операцией, поскольку при ее выполнении ничего не происходит. Он используется в тех случаях, когда оператор синтаксически необходим, но мы не хотим использовать на его месте какой-либо оператор.
Например, его можно использовать при переопределении метода родительского класса в подклассе, но не нужно указывать его конкретную реализацию в подклассе.
Pass также используется там, где код будет где-то написан, но еще не записан в программном файле.
Пример:
list = [1,2,3,4,5] flag = 0 for i in list: print("Current element:",i,end=" "); if i==3: pass print("nWe are inside pass blockn"); flag = 1 if flag==1: print("nCame out of passn"); flag=0
Выход:
Current element: 1 Current element: 2 Current element: 3 We are inside pass block Came out of pass Current element: 4 Current element: 5
Мы узнаем больше об операторе pass в следующем руководстве.
Оператор break в Python
Break – это ключевое слово в Python, которое используется для вывода управления программой из цикла. Оператор break разрывает циклы один за другим, т. е. в случае вложенных циклов сначала прерывает внутренний цикл, а затем переходит к внешним циклам. Другими словами, мы можем сказать, что break используется для прерывания текущего выполнения программы, и управление переходит к следующей строке после цикла.
Break обычно используется в тех случаях, когда нужно разорвать цикл для заданного условия.
Синтаксис разрыва приведен ниже.
#loop statements break;
Пример 1:
list =[1,2,3,4] count = 1; for i in list: if i == 4: print("item matched") count = count + 1; break print("found at",count,"location");
Выход:
item matched found at 2 location
Пример 2:
str = "python" for i in str: if i == 'o': break print(i);
Выход:
p y t h
Пример 3: оператор break с циклом while.
i = 0; while 1: print(i," ",end=""), i=i+1; if i == 10: break; print("came out of while loop");
Выход:
0 1 2 3 4 5 6 7 8 9 came out of while loop
Пример 4:
n=2 while 1: i=1; while i<=10: print("%d X %d = %dn"%(n,i,n*i)); i = i+1; choice = int(input("Do you want to continue printing the table, press 0 for no?")) if choice == 0: break; n=n+1
Выход:
2 X 1 = 2 2 X 2 = 4 2 X 3 = 6 2 X 4 = 8 2 X 5 = 10 2 X 6 = 12 2 X 7 = 14 2 X 8 = 16 2 X 9 = 18 2 X 10 = 20 Do you want to continue printing the table, press 0 for no?1 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 3 X 4 = 12 3 X 5 = 15 3 X 6 = 18 3 X 7 = 21 3 X 8 = 24 3 X 9 = 27 3 X 10 = 30 Do you want to continue printing the table, press 0 for no?0
Изучаю Python вместе с вами, читаю, собираю и записываю информацию опытных программистов.
If you ever need to skip part of the current loop you are in or break out of the loop completely, then you can use the break
and continue
statements.
In this article, I will cover how to use the break
and continue
statements in your Python code.
How to use the break statement in Python
You can use the break
statement if you need to break out of a for
or while
loop and move onto the next section of code.
In this first example we have a for loop that loops through each letter of freeCodeCamp.
for letter in 'freeCodeCamp':
print('letter :', letter)
This is what is printed to the console:
If we wanted to stop our loop at the letter «o», then we can use an if
statement followed by a break
statement.
for letter in 'freeCodeCamp':
if letter == "o":
break
print('letter :', letter)
This is what is printed to the console:
In this next example, we are using a while
loop to increment num
as long as num
is less than 20.
num = 5
while num < 20:
print('Current number :', num)
num = num + 1
This is what is printed to the console:
We could add a condition inside our while
loop that says if num
is 9, then break out of the loop.
num = 5
while num < 20:
print('Current number :', num)
num = num + 1
if num == 9:
break
This is what is printed to the console:
How to use the continue statement in Python
You can use the continue
statement if you need to skip the current iteration of a for
or while
loop and move onto the next iteration.
In this example, we are looping through a string of my name.
for letter in "Jessica":
Inside the for
loop, we have a condition that says if the letter is «i» then skip that iteration and move onto the next iteration.
if letter == "i":
continue
This is what the code looks like all together:
for letter in "Jessica":
if letter == "i":
continue
print(letter)
This is what is printed to the console:
You should notice that the letter «i» was not printed to the console and the continue
statement skipped that iteration.
In this next example, we are going to print numbers in increments of 10 using a while
loop. We are going to add a condition in the loop that says if the number is 50, then skip that iteration and move onto the next one.
num = 10
while num < 100:
num = num + 10
if num == 50:
continue
print("Current num: ", num)
This is what is printed to the console:
As you can see, the number 50 is not printed to the console because of the continue
statement inside the if
statement.
Conclusion
The break
and continue
statements in Python are used to skip parts of the current loop or break out of the loop completely.
The break
statement can be used if you need to break out of a for
or while
loop and move onto the next section of code.
The continue
statement can be used if you need to skip the current iteration of a for
or while
loop and move onto the next iteration.
I hope you enjoyed this article and best of luck on your Python journey.
Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
Python break is used to terminate the execution of the loop.
Python break statement Syntax:
Loop{ Condition: break }
Python break statement
break statement in Python is used to bring the control out of the loop when some external condition is triggered. break statement is put inside the loop body (generally after if condition). It terminates the current loop, i.e., the loop in which it appears, and resumes execution at the next statement immediately after the end of that loop. If the break statement is inside a nested loop, the break will terminate the innermost loop.
Example of Python break statement
Example 1:
Python3
for
i
in
range
(
10
):
print
(i)
if
i
=
=
2
:
break
Output:
0 1 2
Example 2:
Python3
s
=
'geeksforgeeks'
for
letter
in
s:
print
(letter)
if
letter
=
=
'e'
or
letter
=
=
's'
:
break
print
(
"Out of for loop"
)
print
()
i
=
0
while
True
:
print
(s[i])
if
s[i]
=
=
'e'
or
s[i]
=
=
's'
:
break
i
+
=
1
print
(
"Out of while loop "
)
Output:
g e Out of for loop g e Out of while loop
In the above example, both the loops are iterating the string ‘geeksforgeeks’ and as soon as they encounter the character ‘e’ or ‘s’, if the condition becomes true and the flow of execution is brought out of the loop.
Example 3:
Python3
num
=
0
for
i
in
range
(
10
):
num
+
=
1
if
num
=
=
8
:
break
print
(
"The num has value:"
, num)
print
(
"Out of loop"
)
Output
The num has value: 1 The num has value: 2 The num has value: 3 The num has value: 4 The num has value: 5 The num has value: 6 The num has value: 7 Out of loop
In the above example, after iterating till num=7, the value of num will be 8 and the break is encountered so the flow of the execution is brought out of the loop.
Using loops in Python automates and repeats the tasks in an efficient manner. But sometimes, there may arise a condition where you want to exit the loop completely, skip an iteration or ignore some statements of the loop before continuing further in the loop. These can be done by loop control statements called jump statements. Loop control or jump statements change execution from its normal sequence. When execution leaves a scope, all automatic objects that were created in that scope are destroyed. Python supports the following control/jump statements.
- continue statement
- break statement
- pass statement
Last Updated :
19 Jul, 2022
Like Article
Save Article