Using for loops and while loops in Python allows you to automate and efficiently repeat tasks.
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.
Need to deploy a Python project and have it live quickly? Check out DigitalOcean App Platform and deploy a Python project directly from GitHub in minutes.
You should have Python 3 installed and a programming environment on your computer or server. Suppose you don’t have a programming environment set up. In that case, you can refer to the installation and setup guides for setting up a local Python programming environment on your server appropriate for your operating system (Ubuntu, CentOS, Debian, etc.)
In Python, the break
statement allows you to exit out of a loop when an external condition is triggered. You’ll put the break
statement within the code block 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')
The variable number
is initialized at 0 in this small program. Then a for
statement constructs the loop if the variable number
is less than 10.
Within the for
loop, an if
statement 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.
Let’s place a final print()
statement outside of the for
loop to know when you are out of the loop.
When you run this code, you will get the following output:
OutputNumber 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.
The continue
statement allows you 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. 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 code block 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:
OutputNumber 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 optimize a loop by eliminating frequently occurring cases 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.
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 code block 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')
After the if
conditional statement, the pass
statement tells the program to continue running the loop and ignore that the variable number
evaluates as equivalent to 5 during one of its iterations.
You’ll run the program and get the following output:
OutputNumber 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, you notice that the program runs exactly as it would if there were no conditional statements 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.
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 the tutorial How To Create a Twitterbot with Python 3 and the Tweepy Library.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Typo in example - blank line between break and print should not be there.
is writing pass necessary? and what if we don’t write it?
exaplined quite simple, that’s nice; but you have a major error in your code: you modify the counter within the loop. Thr for with range automatically visits all values in the range. If you then increase the counter you will end up having only even numbers printed ;-)
Well done, Fully understood. Thanks for clarification. Have a nice day