-
Главная
-
Инструкции
-
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
станут вашими верными друзьями в разработке интересных приложений. Успехов!
Python Continue Statement skips the execution of the program block after the continue statement and forces the control to start the next iteration.
Python Continue Statement
Python Continue statement is a loop control statement that forces to execute the next iteration of the loop while skipping the rest of the code inside the loop for the current iteration only, i.e. when the continue statement is executed in the loop, the code inside the loop following the continue statement will be skipped for the current iteration and the next iteration of the loop will begin.
Python continue Statement Syntax
while True: ... if x == 10: continue print(x)
Flowchart of Continue Statement
flowchart of Python continue statement
Continue statement in Python Examples
Demonstration of Continue statement in Python
In this example, we will use continue inside some condition within a loop.
Python3
for
var
in
"Geeksforgeeks"
:
if
var
=
=
"e"
:
continue
print
(var)
Output:
G k s f o r g k s
Explanation: Here we are skipping the print of character ‘e’ using if-condition checking and continue statement.
Printing range with Python Continue Statement
Consider the situation when you need to write a program that prints the number from 1 to 10, but not 6.
It is specified that you have to do this using a loop and only one loop is allowed to use. Here comes the usage of the continue statement. What we can do here is we can run a loop from 1 to 10 and every time we have to compare the value of the loop variable with 6. If it is equal to 6 we will use the continue statement to continue to the next iteration without printing anything, otherwise, we will print the value.
Python3
for
i
in
range
(
1
,
11
):
if
i
=
=
6
:
continue
else
:
print
(i, end
=
" "
)
Output:
1 2 3 4 5 7 8 9 10
Note: The continue statement can be used with any other loop also like the while loop, similarly as it is used with for loop above.
Continue with Nested loops
In this example, we are creating a 2d list that includes the numbers from 1 to 9 and we are traversing in the list with the help of two for loops and we are skipping the print statement when the value is 3.
Python3
nested_list
=
[[
1
,
2
,
3
], [
4
,
5
,
6
], [
7
,
8
,
9
]]
for
i
in
nested_list:
for
j
in
i:
if
j
=
=
3
:
continue
print
(j)
Output
1 2 4 5 6 7 8 9
Continue with While Loop
In this example, we are using a while loop which traverses till 9 if i = 5 then skip the printing of numbers.
Python3
i
=
0
while
i <
10
:
if
i
=
=
5
:
i
+
=
1
continue
print
(i)
i
+
=
1
Output
0 1 2 3 4 6 7 8 9
Usage of Continue Statement
Loops in Python automate and repeat tasks efficiently. But sometimes, there may arise a condition where you want to exit the loop completely, skip an iteration or ignore that condition. These can be done by loop control statements. Continue is a type of loop control statement that can alter the flow of the loop.
To read more on pass and break, refer to these articles:
- Python pass statement
- Python break statement
Last Updated :
09 May, 2023
Like Article
Save Article
Сегодня мы узнаем об операторах 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 вместе с вами, читаю, собираю и записываю информацию опытных программистов.
Выполнение программ, написанных на любом языке программирования, по умолчанию является последовательным. Иногда нам может понадобиться изменить выполнение программы. Выполнение определенного кода может потребоваться повторить несколько раз.
Для этого в языках программирования предусмотрены различные типы циклов, которые способны повторять определенный код несколько раз. Чтобы понять принцип работы оператора цикла, рассмотрим следующую схему.
Циклы упрощают сложные задачи до простых. Он позволяет нам изменить поток программы таким образом, что вместо того, чтобы писать один и тот же код снова и снова, мы можем повторять его конечное число раз. Например, если нам нужно вывести первые 10 натуральных чисел, то вместо того, чтобы использовать оператор print 10 раз, мы можем вывести их внутри цикла, который выполняется до 10 итераций.
Преимущества циклов
В Python преимущества циклов, как и в других язвках программирования, заключаются в следующем:
- Это обеспечивает возможность повторного использования кода.
- Используя циклы, нам не нужно писать один и тот же код снова и снова.
- С помощью циклов мы можем перебирать элементы структур данных (массивов или связанных списков).
В Python существуют следующие операторы циклов.
Оператор цикла | Описание |
---|---|
for |
Цикл for используется в том случае, когда необходимо выполнить некоторую часть кода до тех пор, пока не будет выполнено заданное условие. Цикл for также называют циклом c предусловием. Лучше использовать цикл for, если количество итераций известно заранее. |
while |
Цикл while используется в сценарии, когда мы не знаем заранее количество итераций. Блок операторов в цикле while выполняется до тех пор, пока не будет выполнено условие, указанное в цикле while. Его также называют циклом с предварительной проверкой условия. |
do-while |
Цикл do-while продолжается до тех пор, пока не будет выполнено заданное условие. Его также называют циклом с пстусловием. Он используется, когда необходимо выполнить цикл хотя бы один раз. |
Цикл for в Python
Цикл for
в Python используется для многократного повторения операторов или части программы. Он часто используется для обхода структур данных, таких как список, кортеж или словарь.
Синтаксис цикла for
в python приведен ниже.
for iterating_var in sequence:
statement(s)
Цикл For с использованием последовательности
Пример 1: Итерация строки с помощью цикла for
str = "Python"
for i in str:
print(i)
Вывод:
P
y
t
h
o
n
Пример 2: Программа для печати таблицы заданного числа.
list = [1,2,3,4,5,6,7,8,9,10]
n = 5
for i in list:
c = n*i
print(c)
Вывод:
5
10
15
20
25
30
35
40
45
50s
Пример 3: Программа для печати суммы заданного списка.
list = [10,30,23,43,65,12]
sum = 0
for i in list:
sum = sum+i
print("The sum is:",sum)
Вывод:
The sum is: 183
Цикл For с использованием функции range()
Функция range()
Функция range()
используется для генерации последовательности чисел. Если мы передадим range(10)
, она сгенерирует числа от 0
до 9
. Синтаксис функции range()
приведен ниже.
range(start,stop,step size)
Start
означает начало итерации.Stop
означает, что цикл будет повторяться до stop-1.range(1,5)
будет генерировать числа от 1 до 4 итераций. Это необязательный параметр.- Размер шага используется для пропуска определенных чисел в итерации. Его использование необязательно. По умолчанию размер шага равен 1. Это необязательно.
Рассмотрим следующие примеры:
Пример 1: Программа для печати чисел по порядку.
for i in range(10):
print(i,end = ' ')
Вывод:
0 1 2 3 4 5 6 7 8 9
Пример 2: Программа для печати таблицы заданного числа.
n = int(input("Enter the number "))
for i in range(1,11):
c = n*i
print(n,"*",i,"=",c)
Вывод:
Enter the number 10
10 * 1 = 10
10 * 2 = 20
10 * 3 = 30
10 * 4 = 40
10 * 5 = 50
10 * 6 = 60
10 * 7 = 70
10 * 8 = 80
10 * 9 = 90
10 * 10 = 100
Пример 3: Программа для печати четного числа с использованием размера шага в range().
n = int(input("Enter the number "))
for i in range(2,n,2):
print(i)
Вывод:
Enter the number 20
2
4
6
8
10
12
14
16
18
Мы также можем использовать функцию range()
с последовательностью чисел. Функция len()
сочетается с функцией range()
, которая выполняет итерацию по последовательности с использованием индексации. Рассмотрим следующий пример.
list = ['Peter','Joseph','Ricky','Devansh']
for i in range(len(list)):
print("Hello",list[i])
Вывод:
Hello Peter
Hello Joseph
Hello Ricky
Hello Devansh
Вложенный цикл for в python
Python позволяет нам вложить любое количество циклов for внутрь цикла for. Внутренний цикл выполняется n раз за каждую итерацию внешнего цикла. Синтаксис приведен ниже.
for iterating_var1 in sequence: #outer loop
for iterating_var2 in sequence: #inner loop
#block of statements
#Other statements
Пример 1: Вложенный цикл for
# User input for number of rows
rows = int(input("Enter the rows:"))
# Outer loop will print number of rows
for i in range(0,rows+1):
# Inner loop will print number of Astrisk
for j in range(i):
print("*",end = '')
print()
Вывод:
Enter the rows:5
*
**
***
****
*****
Пример 2: Программа для печати пирамиды чисел.
rows = int(input("Enter the rows"))
for i in range(0,rows+1):
for j in range(i):
print(i,end = '')
print()
Вывод:
1
22
333
4444
55555
Использование оператора else в цикле for
В отличие от других языков, таких как C, C++ или Java, Python позволяет нам использовать оператор else с циклом for
, который может быть выполнен только тогда, когда все итерации исчерпаны. Здесь мы должны заметить, что если цикл содержит какой-либо оператор break, то оператор else
не будет выполнен.
Пример 1
for i in range(0,5):
print(i)
else:
print("for loop completely exhausted, since there is no break.")
Вывод:
0
1
2
3
4
for loop completely exhausted, since there is no break.
Цикл for
полностью исчерпал себя, так как нет прерывания.
Пример 2
for i in range(0,5):
print(i)
break;
else:print("for loop is exhausted");
print("The loop is broken due to break statement...came out of the loop")
В приведенном выше примере цикл прерван из-за оператора break, поэтому оператор else
не будет выполнен. Будет выполнен оператор, находящийся непосредственно рядом с блоком else
.
Вывод:
0
Цикл был прерван, благодаря оператору break.
Цикл while в Python
Цикл while позволяет выполнять часть кода до тех пор, пока заданное условие не станет ложным. Он также известен как цикл с предварительной проверкой условия.
Его можно рассматривать как повторяющийся оператор if
. Когда мы не знаем количество итераций, цикл while является наиболее эффективным.
Синтаксис приведен ниже.
while expression:
statements
Здесь утверждения могут быть одним утверждением или группой утверждений. Выражение должно быть любым допустимым выражением Python, приводящим к true
или false
. Истиной является любое ненулевое значение, а ложью — 0
.
Операторы управления циклом
Мы можем изменить обычную последовательность выполнения цикла while с помощью оператора управления циклом. Когда выполнение цикла while завершается, все автоматические объекты, определенные в этой области видимости, уничтожаются. Python предлагает следующие управляющие операторы для использования в цикле while.
1. Оператор continue — Когда встречается оператор continue
, управление переходит в начало цикла. Давайте разберем следующий пример.
# prints all letters except 'a' and 't'
i = 0
str1 = 'javatpoint'
while i < len(str1):
if str1[i] == 'a' or str1[i] == 't':
i += 1
continue
print('Current Letter :', a[i])
i += 1
Вывод:
Current Letter : j
Current Letter : v
Current Letter : p
Current Letter : o
Current Letter : i
Current Letter : n
2. Оператор break — Когда встречается оператор break
, он выводит управление из цикла.
Пример:
# The control transfer is transfered
# when break statement soon it sees t
i = 0
str1 = 'javatpoint'
while i < len(str1):
if str1[i] == 't':
i += 1
break
print('Current Letter :', str1[i])
i += 1
Вывод:
Current Letter : j
Current Letter : a
Current Letter : v
Current Letter : a
3. Оператор pass — Оператор pass
используется для объявления пустого цикла. Он также используется для определения пустого класса, функции и оператора управления. Давайте разберем следующий пример.
# An empty loop
str1 = 'javatpoint'
i = 0
while i < len(str1):
i += 1
pass
print('Value of i :', i)
Вывод
Value of i : 10
Пример 1: Программа для печати от 1 до 10 с использованием цикла while
i=1
#The while loop will iterate until condition becomes false.
While(i<=10):
print(i)
i=i+1
Вывод
1
2
3
4
5
6
7
8
9
10
Пример 2: Программа для печати таблицы заданных чисел.
i=1
number=0
b=9
number = int(input("Enter the number:"))
while i<=10:
print("%d X %d = %d n"%(number,i,number*i))
i = i+1
Вывод
Enter the number:10
10 X 1 = 10
10 X 2 = 20
10 X 3 = 30
10 X 4 = 40
10 X 5 = 50
10 X 6 = 60
10 X 7 = 70
10 X 8 = 80
10 X 9 = 90
10 X 10 = 100
Бесконечный цикл while
Если условие, заданное в цикле while, никогда не станет ложным, то цикл while никогда не завершится, и он превратится в бесконечный цикл while.
Любое ненулевое значение в цикле while
указывает на всегда истинное состояние, в то время как ноль указывает на всегда ложное состояние. Такой подход полезен, если мы хотим, чтобы наша программа непрерывно выполнялась в цикле без каких-либо помех.
Пример 1
while (1):
print("Hi! we are inside the infinite while loop"
Вывод
Hi! we are inside the infinite while loop
Hi! we are inside the infinite while loop
Пример 2
var = 1
while(var != 2):
i = int(input("Enter the number:"))
print("Entered value is %d"%(i))
Вывод
Enter the number:10
Entered value is 10
Enter the number:10
Entered value is 10
Enter the number:10
Entered value is 10
Infinite time
Использование else в цикле while
Python позволяет нам также использовать оператор else
с циклом while
. Блок else
выполняется, когда условие, заданное в операторе while
, становится ложным. Как и в случае с циклом for
, если цикл while
прервать с помощью оператора break
, то блок else
не будет выполнен, а будет выполнен оператор, присутствующий после блока else
. Оператор else
необязателен для использования с циклом while
. Рассмотрим следующий пример.
i=1
while(i<=5):
print(i)
i=i+1
else:
print("The while loop exhausted")
i=1
while(i<=5):
print(i)
i=i+1
if(i==3):
break
else:
print("The while loop exhausted")
Вывод
1
2
В приведенном выше коде, когда встречается оператор break
, цикл while
останавливает свое выполнение и пропускает оператор else
.
Программа для печати чисел Фибоначчи до заданного предела
terms = int(input("Enter the terms "))
# first two intial terms
a = 0
b = 1
count = 0
# check if the number of terms is Zero or negative
if (terms <= 0):
print("Please enter a valid integer")
elif (terms == 1):
print("Fibonacci sequence upto",limit,":")
print(a)
else:
print("Fibonacci sequence:")
while (count < terms) :
print(a, end = ' ')
c = a + b
# updateing values
a = b
b = c
count += 1
Enter the terms 10
Fibonacci sequence:
0 1 1 2 3 5 8 13 21 34
Оператор прерывания в Python
Break — это ключевое слово в python, которое используется для вывода управления программой из цикла. Оператор break разрывает циклы по одному, то есть в случае вложенных циклов он сначала разрывает внутренний цикл, а затем переходит к внешним циклам. Другими словами, можно сказать, что break используется для прерывания текущего выполнения программы, и управление переходит на следующую строку после цикла.
Прерывание обычно используется в тех случаях, когда нам нужно прервать цикл при заданном условии.
Синтаксис прерывания приведен ниже.
#оператор цикла
break;
Пример:
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
Пример:
str = "python"
for i in str:
if i == 'o':
break
print(i);
Вывод:
p
y
t
h
Пример: оператор 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
Пример
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
Оператор continue в Python
Оператор continue в Python используется для возврата управления программой в начало цикла. Оператор continue пропускает оставшиеся строки кода внутри цикла и начинает следующую итерацию. В основном он используется для определенного условия внутри цикла, чтобы мы могли пропустить определенный код для конкретного условия.
#loop statements
continue
#the code to be skipped
Рассмотрим следующие примеры.
Пример
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 из кода.
Давайте посмотрим на другой пример:
Пример
str = "JavaTpoint"
for i in str:
if(i == 'T'):
continue
print(i)
Вывод:
J
a
v
a
p
o
i
n
t
Оператор pass в python
Оператор pass является нулевым оператором (null operation), поскольку при его выполнении ничего не происходит. Он используется в тех случаях, когда оператор синтаксически необходим, но мы не хотим использовать вместо него какой-либо исполняемый оператор.
Например, он может быть использован при переопределении метода родительского класса в подклассе, но мы не хотим давать его конкретную реализацию в подклассе.
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
Python цикл Do While
В Python нет цикла do while. Но мы можем создать подобную программу.
Цикл do while используется для проверки условия после выполнения оператора. Он похож на цикл while, но выполняется хотя бы один раз.
Общий синтаксис цикла Do While (не отностится к python)
do {
//statement
} while (condition);
Пример: цикл do while в Python
i = 1
while True:
print(i)
i = i + 1
if(i > 5):
break
Вывод:
1
2
3
4
5
Python continue statement is one of the loop statements that control the flow of the loop. More specifically, the continue statement skips the “rest of the loop” and jumps into the beginning of the next iteration.
Unlike the break statement, the continue does not exit the loop.
For example, to print the odd numbers, use continue to skip printing the even numbers:
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print(n)
This loop skips the print function when it encounters an even number (a number divisible by 2):
1 3 5 7 9
Here is an illustration of how the above code works when n is even:
Continue Statement in More Detail
In Python, the continue statement jumps out of the current iteration of a loop to start the next iteration.
A typical use case for a continue statement is to check if a condition is met, and skip the rest of the loop based on that.
Using the continue statement may sometimes be a key part to make an algorithm work. Sometimes it just saves resources because it prevents running excess code.
In Python, the continue statement can be used with both for and while loops.
while condition: if other_condition: continue for elem in iterable: if condition: continue
For instance, you can use the continue statement to skip printing even numbers:
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print(n)
Output:
1 3 5 7 9
Continue vs If-Else in Python
The continue statement behaves in the same way as an if-else statement. Using the continue statement is essentially the same as putting the code into an if-else block.
In simple cases, it’s usually a better idea to use an if-else statement, instead of the continue!
For instance, let’s loop through numbers from 1 to 10, and print the type oddity of the numbers:
Here is the continue approach:
for num in range(1, 10): if num % 2 == 0: print("Even number: ", num) continue print("Odd number: ", num)
Output:
Odd number: 1 Even number: 2 Odd number: 3 Even number: 4 Odd number: 5 Even number: 6 Odd number: 7 Even number: 8 Odd number: 9
Then, let’s convert this approach to an if-else statement:
for num in range(1, 10): if num % 2 == 0: print("Even number: ", num) else: print("Odd number: ", num)
Output:
Odd number: 1 Even number: 2 Odd number: 3 Even number: 4 Odd number: 5 Even number: 6 Odd number: 7 Even number: 8 Odd number: 9
As you can see, the latter approach provides a cleaner way to express your intention. By looking at this piece of code it is instantly clear what it does. However, if you look at the former approach with the continue statements, you need to scratch your head a bit before you see what is going on.
This is a great example of when you can use an if-else statement instead of using the continue statement.
Also, if you take a look at the earlier example of printing the odd numbers from a range:
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print(n)
You see it is cleaner to use an if-check here as well, rather than mixing it up with the continue statement:
n = 0 while n < 10: n += 1 if n % 2 != 0: print(n)
But now you may wonder why should you use continue if it only makes code more unreadable. Let’s see some good use cases for the continue statement.
When Use Continue Python
As stated earlier, you can replace the continue statement with if-else statements.
For example, this piece of code:
if condition: action() continue do_something()
Does the same as this one:
if not condition: action() else: do_something()
In simple cases, using if-else over a continue is a good idea. But there are definitely some use cases for the continue statement too.
For example:
- You can avoid nested if-else statements using continue.
- Continue can help you with exception handling in a for loop.
Let’s see examples of both of these.
1. Avoid Nested If-Else Statements in a Loop with Continue in Python
Imagine you have multiple conditions where you want to skip looping. If you solely rely on if-else statements, your code becomes pyramid-shaped chaos:
for entry in data: if not condition1: action1() if not condition2: action2() if not condition3: action3() else: statements3() else: statements2() else: statements1()
This is every developer’s nightmare. A nested if-else mess is infeasible to manage.
However, you can make the above code cleaner and flatter using the continue statement:
for entry in data: if condition1: statements1() continue action1() if condition2: statements2() continue action2() if condition3: statements3() continue action3()
Now, instead of having a nested structure of if-else statements, you have a flat structure of if statements only. This means the code is way more understandable and easier to maintain—thanks to the continue statement.
2. Continue in Error Handling—Try, Except, Continue
If you need to handle exceptions in a loop, use the continue statement to skip the “rest of the loop”.
For example, take a look at this piece of code that handles errors in a loop:
for number in [1, 2, 3]: try: print(x) except: print("Exception was thrown...") print("... But I don't care!")
Now the loop executes the last print function regardless of whether an exception is thrown or not:
Exception was thrown... ... But I don't care! Exception was thrown... ... But I don't care! Exception was thrown... ... But I don't care!
To avoid this, use the continue statement in the except block. This skips the rest of the loop when an exception occurs.
for number in [1,2,3]: try: print(x) except: print("Exception was thrown...") continue print("... But I don't care!")
Now the loop skips the last print function:
Exception was thrown... Exception was thrown... Exception was thrown...
This is useful if the last print function was something you should not accidentally run when an error occurs.
Conclusion
Today you learned how to use the continue statement in Python.
To recap, the continue statement in Python skips “the rest of the loop” and starts an iteration. This is useful if the rest of the loop consists of unnecessary code.
For example, you can skip printing even numbers and only print the odd numbers by:
n = 0 while n < 10: n += 1 if n % 2 == 0: continue print(n)
Here the loop skips the last print function if it encounters an even number.
However, an if-else statement is usually better than using an if statement with a continue statement. However, with multiple conditions, the continue statement prevents nested if-else blocks that are infeasible to manage.
Thanks for reading. I hope you enjoy it.
Happy coding!
Further Reading
50 Python Interview Questions with Answers
50+ Buzzwords of Web Development
About the Author
-
I’m an entrepreneur and a blogger from Finland. My goal is to make coding and tech easier for you with comprehensive guides and reviews.
Recent Posts