Python exit for loop if

Операторы break, continue и pass в циклах Python 3

При работе с циклами while и for бывает необходимо выполнить принудительный выход, пропустить часть или игнорировать заданные условия. Для первых двух случаев используются операторы break и continue Python , а для игнорирования условий — инструкция pass . Давайте посмотрим на примерах, как работают эти операторы.

Оператор break

Инструкция break в языке программирования Python прерывает выполнение блока кода. Простейший пример:

for j in 'bananafishbones': 
if j == 'f':
break
print(j)

Как только программа после нескольких итераций доходит до элемента последовательности, обозначенного буквой f , цикл (loop) прерывается, поскольку действует оператор break . Теперь рассмотрим работу этой инструкции в цикле while :

x = 0
while x < 5:
print(x)
x += 0.5
print('Выход')

Вывод будет следующий (приводим с сокращениями):

Как только перестает выполняться условие и x становится равным 5, программа завершает цикл. А теперь перепишем код с использованием инструкции break :

x = 0
while True:
print(x)
if x >= 4.5:
break
x += 0.5
print('Выход')

Мы точно так же присвоили x значение 0 и задали условие: пока значение x истинно (True), продолжать выводить его. Код, правда, получился немного длиннее, но бывают ситуации, когда использование оператора прерывания оправданно: например, при сложных условиях или для того, чтобы подстраховаться от создания бесконечного цикла. Уберите из кода выше две строчки:

x = 0
while True:
print(x)
x += 0.5
print('Выход')

И перед нами бесконечный вывод:

0
0.5

100
100.5

1000000
1000000.5

И слово в конце (‘Выход’), таким образом, никогда не будет выведено, поскольку цикл не закончится. Поэтому при работе с последовательностями чисел использование оператора break убережет вас от сбоев в работе программ, вызываемых попаданием в бесконечный цикл.

Читайте также:  Php массив параметры get запроса

Конструкция с 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 станут вашими верными друзьями в разработке интересных приложений. Успехов!

Источник

How To Use Break, Continue, and Pass Statements when Working with Loops in Python 3

Using for loops and while loops in Python allow you to automate and repeat tasks in an efficient manner.

But sometimes, an external factor may influence the way your program runs. When this occurs, you may want your program to exit a loop completely, skip part of a loop before continuing, or ignore that external factor. You can do these actions with break , continue , and pass statements.

Prerequisites

You should have Python 3 installed and a programming environment set up on your computer or server. If you don’t have a programming environment set up, you can refer to the installation and setup guides for a local programming environment or for a programming environment on your server appropriate for your operating system (Ubuntu, CentOS, Debian, etc.)

Break Statement

In Python, the break statement provides you with the opportunity to exit out of a loop when an external condition is triggered. You’ll put the break statement within the block of code under your loop statement, usually after a conditional if statement.

Info: To follow along with the example code in this tutorial, open a Python interactive shell on your local system by running the python3 command. Then you can copy, paste, or edit the examples by adding them after the >>> prompt.

Let’s look at an example that uses the break statement in a for loop:

number = 0 for number in range(10): if number == 5: break # break here print('Number is ' + str(number)) print('Out of loop') 

In this small program, the variable number is initialized at 0. Then a for statement constructs the loop as long as the variable number is less than 10.

Within the for loop, there is an if statement that presents the condition that if the variable number is equivalent to the integer 5, then the loop will break.

Within the loop is also a print() statement that will execute with each iteration of the for loop until the loop breaks, since it is after the break statement.

To know when we are out of the loop, we have included a final print() statement outside of the for loop.

When we run this code, our output will be the following:

Output
Number is 0 Number is 1 Number is 2 Number is 3 Number is 4 Out of loop

This shows that once the integer number is evaluated as equivalent to 5, the loop breaks, as the program is told to do so with the break statement.

The break statement causes a program to break out of a loop.

Continue Statement

The continue statement gives you the option to skip over the part of a loop where an external condition is triggered, but to go on to complete the rest of the loop. That is, the current iteration of the loop will be disrupted, but the program will return to the top of the loop.

The continue statement will be within the block of code under the loop statement, usually after a conditional if statement.

Using the same for loop program as in the Break Statement section above, we’ll use a continue statement rather than a break statement:

number = 0 for number in range(10): if number == 5: continue # continue here print('Number is ' + str(number)) print('Out of loop') 

The difference in using the continue statement rather than a break statement is that our code will continue despite the disruption when the variable number is evaluated as equivalent to 5. Let’s review our output:

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

Here, Number is 5 never occurs in the output, but the loop continues after that point to print lines for the numbers 6–10 before leaving the loop.

You can use the continue statement to avoid deeply nested conditional code, or to optimize a loop by eliminating frequently occurring cases that you would like to reject.

The continue statement causes a program to skip certain factors that come up within a loop, but then continue through the rest of the loop.

Pass Statement

When an external condition is triggered, the pass statement allows you to handle the condition without the loop being impacted in any way; all of the code will continue to be read unless a break or other statement occurs.

As with the other statements, the pass statement will be within the block of code under the loop statement, typically after a conditional if statement.

Using the same code block as above, let’s replace the break or continue statement with a pass statement:

number = 0 for number in range(10): if number == 5: pass # pass here print('Number is ' + str(number)) print('Out of loop') 

The pass statement occurring after the if conditional statement is telling the program to continue to run the loop and ignore the fact that the variable number evaluates as equivalent to 5 during one of its iterations.

We’ll run the program and consider the output:

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

By using the pass statement in this program, we notice that the program runs exactly as it would if there were no conditional statement in the program. The pass statement tells the program to disregard that condition and continue to run the program as usual.

The pass statement can create minimal classes, or act as a placeholder when working on new code and thinking on an algorithmic level before hammering out details.

Conclusion

The break , continue , and pass statements in Python will allow you to use for loops and while loops more effectively in your code.

To work more with break and pass statements, you can follow our project tutorial “How To Create a Twitterbot with Python 3 and the Tweepy Library.”

Want to deploy your application quickly? Try Cloudways, the #1 managed hosting provider for small-to-medium businesses, agencies, and developers — for free! DigitalOcean and Cloudways together will give you a reliable, scalable, and hassle-free managed hosting experience with anytime support that makes all your hosting worries a thing of the past. Start with $100 in free credits!

Tutorial Series: How To Code in Python

Python banner image

Introduction

Python is a flexible and versatile programming language that can be leveraged for many use cases, with strengths in scripting, automation, data analysis, machine learning, and back-end development. It is a great tool for both new learners and experienced developers alike.

Prerequisites

You should have Python 3 installed and a programming environment set up on your computer or server. If you don’t have a programming environment set up, you can refer to the installation and setup guides for a local programming environment or for a programming environment on your server appropriate for your operating system (Ubuntu, CentOS, Debian, etc.)

Источник

Оцените статью