Python break, continue and pass (With examples)
Learn to use break, continue and pass statements inside loops in Python with examples.

Prerequisites
Loops allow you to perform repetitive tasks on iterables in an automated fashion. However, you might have additional requirements in your loop. For e.g.
- Stop an iteration when a condition is satisfied
- Move on to the next iteration without performing any task
- Add an empty statement placeholder to allow further improvements to your code later.
Keywords like break
, continue
and pass
prove useful in such situations.
break - jumps out of the closest enclosing loop
continue - moves on to the next iteration in the loop
pass - Empty placeholder. Does nothing at all.
break
break
is used to exit the loop when a specific condition is met.
Example 1
Code
i = 1
while True:
print(f"The value of i is {i}")
# Break the loop when i reaches 10
if i == 10:
break
i+=1
Output
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4
The value of i is 5
The value of i is 6
The value of i is 7
The value of i is 8
The value of i is 9
The value of i is 10
The other way to do it would be to include this condition with the while
statement.
Code
i = 1
while i <= 10:
print(f"The value of i is {i}")
i+=1
Output
The value of i is 1
The value of i is 2
The value of i is 3
The value of i is 4
The value of i is 5
The value of i is 6
The value of i is 7
The value of i is 8
The value of i is 9
The value of i is 10
Now don’t think the usage of break is useless because you can rewrite the above code even smaller without the use of break
. In programming, you will be faced with other complicated situations where break
will provide you with a cleaner and more efficient code.
Example 2
Let’s try to redo the example from the article on while loops. In that example, a temporary variable user_will_input
is used to check if the user wants to enter a friend’s name. If the user enters q
, the variable is set to False
and the loop is terminated. This time, let’s make use of the break
statement when the same condition is met but without using a temporary variable.
Code
friends = []
while True:
friend_name = input("Enter your friend's name ==> ")
if friend_name == 'q':
break
else:
friends.append(friend_name)
if len(friends) > 0:
print(f"Your friends are {','. join(friends)}")
else:
print("You have no friends!")
Output
Enter your friend's name ==> Shishir
Enter your friend's name ==> Ashish
Enter your friend's name ==> Chinmayee
Enter your friend's name ==> q
Your friends are Shishir,Ashish,Chinmayee
There are 2 observations that you should make.
- Using
break
instead of an additional variable achieves the same objective. This makes your code relatively more efficient. - In the previous example, the print statement that tells your friends was within an
else
block. But in this code, the print statements are being used outside thewhile
loop.
The code within an else
block(part of the while loop) is only executed when the loop terminates naturally, i.e., you didn’t terminate the loop with break
statement. Try and run the below code.
Code
friends = []
while True:
friend_name = input("Enter your friend's name ==> ")
if friend_name == 'q':
break
else:
friends.append(friend_name)
else:
if len(friends) > 0:
print(f"Your friends are {','.join(friends)}")
else:
print("You have no friends!")
Output
Enter your friend's name ==> Shishir
Enter your friend's name ==> Ashish
Enter your friend's name ==> Chinmayee
Enter your friend's name ==> q
As you can see, the code within the else
block isn’t executed as your while
loop has a break statement in it.
Example 3 - Using break with for loops
You can also use break
statements with for
loops.
Code - Finding Nemo Example - Start at 2:12
my_list = ["Gill", "Nemo", "Bloat", "Dory", "Gurgle"]
for elem in my_list:
if elem == "Nemo":
print("I found Nemo!")
break
else:
print("Still looking for Nemo!")
Output
Still looking for Nemo!
I found Nemo!
Without the use of break
statement, you would unnecessarily iterate over every fish in the list. This is very inefficient. By using the break
statement, you terminate the iteration, once Nemo is found!
continue
The continue
causes an immediate jump to the next iteration in the loop. You can use it to skip code executions for certain conditions.
Example 1
The code below runs infinitely, asking users to input a number and only prints out if the number is odd.
Code
while True:
number = int(input("Enter a number ==> "))
if number %2 == 0:
continue
print(f"{number} is odd")
Output
Enter a number ==> 3
3 is odd
Enter a number ==> 2
Enter a number ==> 1
1 is odd
Enter a number ==> 10
Because continue
immediately moves to the top of the loop, you don’t need to nest the print
statement within an else
block. The print
statement is only reached, if continue
statement isn’t executed.
Example 2 - Using continue with for loops
You can also use continue
statements in for
loops. Let’s go back to the Finding Nemo Example.
Code - Without using continue
my_list = ["Gill", "Nemo", "Bloat", "Dory", "Gurgle"]
for elem in my_list:
if elem == "Nemo":
print("I found Nemo!")
break
else:
print("Still looking for Nemo!")
Output
Still looking for Nemo!
I found Nemo!
What we would like to additionally do is, stop printing Still looking for Nemo!
when Nemo isn’t found. Also, we want to keep track of the number of fish we had to iterate over until we found Nemo.
Code
my_list = ["Gill", "Nemo", "Bloat", "Dory", "Gurgle"]
number_of_loops = 0
for elem in my_list:
if elem == "Nemo":
number_of_loops += 1
print(f"Fish no. {number_of_loops} is Nemo")
break
else:
number_of_loops += 1
continue
Output
Fish no. 2 is Nemo
pass
pass
is merely a placeholder statement. It does nothing.
Ideally, when you are working on a problem and want to revisit your code later to make changes, you make use of a pass statement.
If you are a beginner, that is the only use of pass
statements. However, if you have a little bit of experience with programming, you can use pass
statements to ignore exceptions caught during exception handling and to define empty class objects and functions.
Example 1 - Infinite while loop
Code
while True:
pass
The above code does nothing other than warm up your computer.
Example 2 - Empty functions and classes
Code
def my_new_function():
pass # Code to be added later
Fun fact - You can also use ...
to replace pass statements and your code won’t run into any issue.
Code
def my_new_function():
...
The three dots (...
) are known as Ellipsis. They do nothing by themselves and hence, can be used to serve as an alternative to the pass
statement, especially for code to be filled in later.
Problems
- Place a break statement in the for loop so that it prints from 0 to 7 only (including 7).
for i in range(100): print(i)
- Write a Python program that prints all the numbers from 0 to 10 except multiples of 3 (use continue).
- Write a Python program to construct the following pattern.
* * * * * * * * * * * * * * * * * * * * * * * * *