Для чего используется инструкция continue python

  • Главная

  • Инструкции

  • 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

Python 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:

  1. Python pass statement
  2. 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   

Диаграмма потока

Блок-схема Python continue

Рассмотрим следующие примеры.

Пример 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 вместе с вами, читаю, собираю и записываю информацию опытных программистов.

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:

Python continue statement

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:

  1. You can avoid nested if-else statements using continue.
  2. 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

В этой статье вы познакомитесь с инструкциями 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

Мы продолжаем цикл до тех пор, пока не встретим «о» — в этот момент мы пропускаем оставшуюся часть цикла. Как видите, мы напечатали все буквы, кроме «о». 

Понравилась статья? Поделить с друзьями:
  • Агрохолдинг бэзрк белгранкорм руководство
  • Часы vst 862 инструкция по настройке времени
  • Мексидол инструкция детям доза в таблетках
  • Эхинацея настойка инструкция по применению противопоказания
  • Motorola tlkr t50 инструкция на русском