Usage of 'else' in Python
What are the possible ways to use else keyword in Python
The else
keyword in Python has a few different applications, but it primarily functions within conditional statements:
Conditions
if...else
statements: This is the most common use ofelse
.It allows you to define an alternate block of code to execute if the condition in the
if
statement is False.
age = 12
if age >= 18:
print("You are eligible to vote.")
else:
print("You are not eligible to vote.")
else
with ternary operator
age = 12
print("You are eligible to vote.") if age >= 18 else print("You are not eligible to vote.")
# You are not eligible to vote.
else
with comprehension
# Even/Odd Marker
numbers_list = ["even" if num %2 == 0 else "odd" for num in range(10)]
# ['even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd']
Loops
for...else
andwhile...else
loops: In Python, you can optionally use anelse
block withfor
andwhile
loops.This code block will only execute if the loop terminates normally (i.e., it completes all iterations without a
break
statement being called).
for else loop
- Imagine you have a list of groceries and want to check if a specific item is present. Traditionally, you might use a flag variable to track if the item is found:
found = False
grocery_list = ["Milk", "Eggs", "Bread", "Apples"]
item_to_find = "Cheese"
for item in grocery_list:
if item == item_to_find:
found = True
break # Exit the loop after finding the item
if found:
print(f"{item_to_find} is in your grocery list.")
else:
print(f"{item_to_find} is not on your grocery list.")
With for...else
, you can achieve the same functionality without needing a flag:
grocery_list = ["Milk", "Eggs", "Bread", "Apples"]
item_to_find = "Cheese"
for item in grocery_list:
if item == item_to_find:
print(f"{item_to_find} is in your grocery list.")
break # Exit the loop after finding the item
else:
print(f"{item_to_find} is not on your grocery list.")
The
else
block here executes only if the loop finishes iterating through the entire list without finding a match.`break` statement needs to be added once the condition inside the loop is satisfied to come out of the loop. Otherwise the else statement will execute.
This keeps the code cleaner and avoids the need for an extra variable.
while else loop
- Suppose you want a valid integer input from the user within a specific range. Here's how you might do it with a
while
loop:
lower_limit = 5
upper_limit = 10
while True:
user_input = int(input("Enter an integer between 5 and 10: "))
if lower_limit <= user_input <= upper_limit:
print("Valid input!")
break # Exit the loop on valid input
print(f"Your input: {user_input}")
With while...else
, you can express the validation process more clearly:
lower_limit = 5
upper_limit = 10
while True:
user_input = int(input("Enter an integer between 5 and 10: "))
if lower_limit <= user_input <= upper_limit:
print("Valid input!")
break # Exit the loop on valid input
else:
print("Invalid input. Please enter a number between 5 and 10.")
print(f"Your input (if valid): {user_input}") # Print input only if valid
The
else
block here executes only if thewhile
loop completes all iterations without finding a valid input.This provides a clear message to the user if their input doesn't meet the criteria.
Exception Handling
try...except...else
blocks: Theelse
block in atry...except
statement handles exceptions.If no exceptions occur while executing the code in the
try
block, the code within theelse
block will be executed.try: result = 10 / 0 # This will cause a ZeroDivisionError except ZeroDivisionError: print("Division by zero error!") else: print("The result is:", result) # This won't execute because of the exception
Remember that the
else
block is always optional and only executes under specific conditions depending on the context (i.e., if theif
condition is False, the loop completes normally, or no exceptions occur in thetry
block).
Summary
We have gone through various ways we can use `else` keyword in Python programming language.