Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to stop a loop in Python

The Concept of a Loop

A loop in programming is similar to a loop in a roller coaster ride. It is a path that starts at a point, goes around a certain course, and then returns to the starting point. In programming, a loop is a set of instructions that are executed repeatedly until a certain condition is met.

Let's consider a real-life example. Imagine you're a teacher checking homework assignments. You pick up the first assignment, check it, then move on to the next. You repeat this process until you've checked all assignments. This is exactly what a loop does in a programming context.

The Python Loop

In Python, we have two types of loops: for loops and while loops.

A for loop is used to iterate over a sequence (like a list, tuple, dictionary, set, or string). It's like saying, "For each assignment in the pile of homework, check it."

Here's an example of a for loop:

homework = ['assignment1', 'assignment2', 'assignment3']
for h in homework:
    print(f"Checking {h}")

A while loop, on the other hand, continues to execute as long as a certain condition is true. It's like saying, "While there are still assignments in the pile, keep checking."

Here's an example of a while loop:

count = 0
while count < 5:
    print(f"Count is {count}")
    count += 1

The Need to Stop a Loop

Sometimes, we need to stop a loop before it has gone through all its iterations. Going back to our homework checking analogy, imagine you found a really poorly done assignment. You decide it's time to stop and address the issue with the class instead of continuing to check the rest of the homework.

In programming, we often need to stop a loop for similar reasons. Maybe we've found the data we were looking for and we don't need to keep looking. Maybe we're stuck in an infinite loop and we need to break out. Whatever the reason, Python provides a couple of keywords for this: break and continue.

The break Statement

The break statement in Python is quite like saying "That's enough!" in the middle of a task. When a break statement is encountered, the loop is immediately terminated and program control resumes at the next statement following the loop.

Here's how you can use it:

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

In this code, the loop will stop as soon as the number 5 is encountered.

The continue Statement

The continue statement is a little different. Instead of terminating the loop entirely, it skips whatever is left in the current iteration and moves on to the next one. It's like saying "This one is too hard, let's skip it for now and move on to the next one."

Here's how you can use it:

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

In this code, the loop will skip any number that is even and will only print the odd numbers.

The else Clause in Loops

Python also has an interesting else clause for loops. This is executed when the loop has finished, i.e., when the looping condition becomes false. However, the else clause is not executed if the loop is terminated by a break statement.

Here's an example:

for number in range(10):
    if number == 15:
        break
else:
    print("Loop finished successfully.")

In this code, the message "Loop finished successfully." will be printed, because the break statement was never encountered.

Conclusion

Learning how to control loops is like learning how to drive. You need to know how to start, how to steer, and most importantly, when and how to stop. In Python, steering your loops is done through the code block within the loop, while stopping them is controlled via break and continue statements. Mastering these allows you to loop with confidence and precision, making your code more efficient and effective. So buckle up and enjoy the ride!