Python Trick: The else Clause on Loops

Developer Service - Aug 29 - - Dev Community

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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player