Back to Python
2026-04-025 min read

break and continue statements here (Python Programming)

Learn break and continue statements here (Python Programming) step by step with clear examples and exercises.

Title: Mastering Break and Continue Statements in Python Programming

Why This Matters

Break and continue statements are essential tools for controlling loops in Python programming. They help you manage complex loop structures, making your code more efficient and easier to read. Understanding these statements can save you from endless loops and unexpected program behavior, especially during interviews or real-world coding challenges.

Prerequisites

Before diving into break and continue statements, you should have a good understanding of:

  1. Python syntax and data types
  2. Loops (for and while loops)
  3. Basic control flow structures (if-else, conditional expressions)
  4. Functions and their usage in controlling loop structures
  5. Understanding the difference between mutable and immutable data types
  6. Error handling using try-except blocks

Core Concept

The Break Statement

The break statement is used to terminate a loop prematurely. When the break keyword is encountered within a loop, the loop immediately exits, and program execution continues with the next line following the loop.

for i in range(10):
if i == 5:
break
print(f"Iteration {i}")
print("Loop has ended.")

In this example, the output will be:

Iteration 0
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Loop has ended.

The loop stops at i=5 because of the break statement.

The Continue Statement

The continue statement is used to skip the current iteration of a loop and move on to the next one. When the continue keyword is encountered within a loop, the current iteration is skipped, and program execution continues with the next iteration.

for i in range(10):
if i % 2 == 0:
continue
print(i)

In this example, the output will be 1 3 5 7 9. The even numbers are skipped because of the continue statement.

Nested Loops and Continue

When using continue in nested loops, it skips the current iteration of the innermost loop:

for i in range(10):
for j in range(10):
if i == 5 or j == 5:
continue
print(f"i={i}, j={j}")

In this example, the output will be all pairs except (5, 5) because of the continue statement.

Worked Example

Let's consider a simple example where we want to find all prime numbers between 1 and 100 using the break and continue statements:

def find_primes(limit):
for num in range(2, limit + 1):
is_prime = True
for divisor in range(2, num):
if num % divisor == 0:
is_prime = False
break
if is_prime:
print(num)

find_primes(100)

In this example, the outer loop iterates through all numbers from 2 to the given limit. The inner loop checks each number up to the current number as a potential divisor. If a divisor is found, the is_prime flag is set to False, and the outer loop breaks, skipping further iterations for that number.

Optimizing the Worked Example

To optimize this example, we can use the fact that odd numbers greater than 3 are prime unless they can be divided by 3 or 5. This optimization reduces the number of checks in the inner loop:

def find_primes(limit):
for num in range(2, limit + 1):
if num <= 3:
print(num)
elif num % 2 == 0:
continue
for divisor in range(3, int(num ** 0.5) + 1, 6):
if num % divisor == 0 or num % (divisor + 2) == 0:
break
else:
print(num)

find_primes(100)

In this optimized example, the inner loop checks only odd divisors and skips multiples of 6. This significantly reduces the number of iterations required to find prime numbers.

Common Mistakes

  1. Forgetting to use parentheses around the condition in the break or continue statement:

Incorrect:

for i in range(10):
if i == 5: break
print(i)

Correct:

for i in range(10):
if i == 5:
break
print(i)
  1. Using continue outside a loop:

Incorrect:

for i in range(10):
continue
print(i)

Correct:

for i in range(10):
print(i)
  1. Using break or continue with incorrect indentation:

Incorrect:

for i in range(10):
if i == 5:
break
print(i) # incorrect indentation

Correct:

for i in range(10):
if i == 5:
break
print(i) # correct indentation
  1. Using continue with a loop that doesn't iterate:

Incorrect:

numbers = [1, 2, 3]
for number in numbers:
continue
print(number)

Correct:

numbers = [] # empty list
for number in numbers:
print(number) # no loop needed

Practice Questions

  1. Write a Python program that finds all even numbers between 1 and 100 using the continue statement.
  2. Given the following list of numbers, write a Python program to find the largest prime number:
nums = [19, 2, 4, 6, 8, 10, 14, 3, 5]
  1. Write a Python program that finds all Fibonacci numbers less than 100 using the continue statement.
  2. Write a Python program that prints the multiples of 7 between 1 and 100 using the break statement.
  3. Write a Python program that finds the smallest composite number (a number greater than 1 that has factors other than 1 and itself) greater than 20 using the break and continue statements.

FAQ

What happens if I use break or continue inside an empty loop?

If you use either break or continue inside an empty loop (i.e., a loop without any statements), nothing will happen because the loop has no iterations to skip or terminate.

Can I use break and continue with list comprehensions in Python?

Yes, you can use break and continue inside list comprehensions, but it's generally not recommended due to their performance impact on the comprehension as a whole. It's better to use them in traditional loops for readability and efficiency.

Is it possible to use multiple break statements within a single loop?

Yes, you can use multiple break statements within a single loop. When one is encountered, the loop immediately exits, regardless of any other break statements that might follow.

Can I use continue with a for-else block?

No, you cannot use continue with a for-else block directly. However, you can achieve similar functionality by using an if statement within the else block and breaking out of the loop when necessary.

What is the difference between break and return in Python?

break terminates the closest enclosing loop, while return exits the current function entirely. Using break allows you to continue executing code outside the loop after it has finished, whereas using return stops the entire function execution.

break and continue statements here (Python Programming) | Python | XQA Learn