DEV Community

Cover image for Python Trick: The else Clause on Loops
Developer Service
Developer Service

Posted on

4

Python Trick: The else Clause on Loops

Many Python programmers know that the else keyword can be used with if statements, but did you know it can also be used with for and while loops?

This lesser-known feature can simplify your code in certain scenarios.


How It Works

In Python, you can attach an else clause to a for or while loop.

The else block executes after the loop completes normally, which means it runs if the loop is not terminated by a break statement.

This can be particularly useful for situations where you need to perform some action only if the loop didn't encounter an early exit condition.

Here’s an example to illustrate:

# Search for a prime number in a range
def find_prime(n):
    for i in range(2, n):
        if n % i == 0:
            print(f"{n} is not a prime number.")
            break
    else:
        print(f"{n} is a prime number.")


find_prime(29)  # Output: 29 is a prime number.
find_prime(30)  # Output: 30 is not a prime number.

# Output:
# 29 is a prime number.
# 30 is not a prime number.

Enter fullscreen mode Exit fullscreen mode

In this example, the else block only runs if the for loop completes without encountering a break.

If a factor is found, it breaks out of the loop and skips the else block.


Why It’s Cool

The else clause on loops can help make your code more concise and eliminate the need for additional flags or checks to determine if a loop completed successfully.

It’s a neat feature that adds expressive power to your loop constructs, often leading to cleaner and more readable code.

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (2)

Collapse
 
king_triton profile image
King Triton

Wow, I never realized the else clause could be used with loops in Python! This is such a neat and concise way to handle cases where you need to check if the loop completed without an early exit. The example with finding prime numbers really clarifies its usefulness. This will definitely help me write cleaner and more readable code. Thanks for the insightful explanation!

Collapse
 
devasservice profile image
Developer Service

Thanks

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay