Start learning free

LESSON 153 OF 410 · LOOPING OVER LIST INDICES

Break the loop in Python

Lesson Read the full explanation

With the break statement, we can prematurely terminate a for / while loop from inside that loop.

When Python reaches the break statement, it's going to immediately terminate the loop without checking any conditions.

In this example, we will terminate the loop when we find a "banana" in our list:

fruits = ["kivi", "orange", "banana", "apple", "pear"]
for fruit in fruits:
	print(fruit)
  	if fruit == "banana":
		break

The output of this code is:

kivi
orange
banana

As you can see, our program doesn't print apple and pear.

Here's what happens during this loop:

1. First iteration:
	a. fruit = "kivi"
	b. print(fruit) => Output: kivi
	c. Is fruit == "banana"? No.
	
2. Second iteration:
	a. fruit = "orange"
	b. print(fruit) => Output: orange
	c. Is fruit == "banana"? No.
	
3. Third iteration:
	a. fruit = "banana"
	b. print(fruit) => Output: banana
	c. Is fruit == "banana"? Yes:
      		break => Exit the loop immediately

Assignment
Let's print all the lessons our student finished!


Hint
Look at the examples above if you get stuck.


STEP 1 OF 3
    Ctrl + Enter to check

    PYTHON · LOOPING OVER LIST INDICES

    Break In For Loops in Python, explained

    Introduction

    In this lesson, we will explore the break statement in Python, which allows us to prematurely terminate loops. This is a powerful tool in programming that can help us control the flow of our code more precisely. Understanding how to use the break statement effectively can make your code more efficient and easier to read.

    Understanding the Basics

    The break statement is used to exit a loop before it has iterated over all items. This can be particularly useful when searching for an item in a list or when a certain condition is met. For example, if you are searching for a specific value in a list, you can use break to stop the loop once the value is found, saving time and resources.

    Simple Example

    numbers = [1, 2, 3, 4, 5]
    for number in numbers:
        if number == 3:
            break
        print(number)
    

    In this example, the loop will terminate when the number 3 is encountered, and the output will be:

    1
    2
    

    Main Concepts

    The key concept behind the break statement is that it allows for immediate termination of a loop. This can be useful in various scenarios, such as:

    • Searching for an item in a list
    • Exiting a loop when a certain condition is met
    • Improving the efficiency of your code by avoiding unnecessary iterations

    Applying the Concept

    Let's revisit the initial example with the list of fruits:

    fruits = ["kivi", "orange", "banana", "apple", "pear"]
    for fruit in fruits:
        print(fruit)
        if fruit == "banana":
            break
    

    Here, the loop will print each fruit until it encounters "banana", at which point it will terminate. This is useful if you only need to process items up to a certain point.

    Examples and Use Cases

    Let's look at a few more examples to understand the versatility of the break statement.

    Example 1: Finding a Number in a List

    numbers = [10, 20, 30, 40, 50]
    for number in numbers:
        if number == 30:
            print("Found 30!")
            break
    

    Output:

    Found 30!
    

    Example 2: Exiting a Loop Based on User Input

    while True:
        user_input = input("Enter a number (or 'exit' to quit): ")
        if user_input == 'exit':
            break
        print(f"You entered: {user_input}")
    

    This loop will continue to prompt the user for input until they type 'exit'.

    Common Pitfalls and Best Practices

    While the break statement is powerful, it should be used judiciously. Here are some common pitfalls and best practices:

    • Overuse: Using break too frequently can make your code hard to read and maintain. Use it only when necessary.
    • Clarity: Ensure that the condition for breaking out of the loop is clear and well-documented.
    • Testing: Always test your loops thoroughly to ensure that the break statement is functioning as expected.

    Advanced Techniques

    In more complex scenarios, you might use the break statement in nested loops or in combination with other control flow statements. For example:

    for i in range(5):
        for j in range(5):
            if i * j > 10:
                break
            print(f"i: {i}, j: {j}")
    

    In this example, the inner loop will terminate when the product of i and j exceeds 10, but the outer loop will continue.

    Code Implementation

    Let's implement a function that demonstrates the use of the break statement:

    def find_first_even(numbers):
        """
        This function returns the first even number in a list.
        If no even number is found, it returns None.
        """
        for number in numbers:
            if number % 2 == 0:
                return number
        return None
    
    # Example usage
    numbers = [1, 3, 5, 7, 8, 10]
    print(find_first_even(numbers))  # Output: 8
    

    Debugging and Testing

    When debugging code that uses the break statement, consider the following tips:

    • Print Statements: Use print statements to track the flow of the loop and understand where the break statement is being executed.
    • Unit Tests: Write unit tests to ensure that your function behaves as expected. For example:
    def test_find_first_even():
        assert find_first_even([1, 3, 5, 7, 8, 10]) == 8
        assert find_first_even([1, 3, 5, 7]) == None
        assert find_first_even([2, 4, 6]) == 2
    
    test_find_first_even()
    

    Thinking and Problem-Solving Tips

    When approaching problems that might require the use of the break statement, consider the following strategies:

    • Identify the Condition: Clearly define the condition under which the loop should terminate.
    • Optimize: Use break to optimize your loops and avoid unnecessary iterations.
    • Practice: Solve coding exercises that involve loops and the break statement to improve your skills.

    Conclusion

    In this lesson, we explored the break statement in Python, a powerful tool for controlling the flow of loops. By understanding how and when to use break, you can write more efficient and readable code. Remember to use it judiciously and always test your loops thoroughly.

    Additional Resources

    Keep going with PythonAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free