Understanding the if-elif-else
Structure
The basic structure of an if-elif-else
block looks like this:
if condition1:
# Code to execute if condition1 is True
elif condition2:
# Code to execute if condition1 is False and condition2 is True
elif condition3:
# Code to execute if condition1 and condition2 are False, and condition3 is True
else:
# Code to execute if all previous conditions are False
The elif
clause(s) are optional; you can have an if
statement without any elif
or else
blocks. However, the power of elif
lies in its ability to handle multiple scenarios efficiently.
Practical Examples
Let’s illustrate with some common use cases.
Example 1: Grading System
This example assigns letter grades based on a numerical score:
= 85
score
if score >= 90:
= "A"
grade elif score >= 80:
= "B"
grade elif score >= 70:
= "C"
grade elif score >= 60:
= "D"
grade else:
= "F"
grade
print(f"Your grade is: {grade}") # Output: Your grade is: B
Example 2: Day of the Week
This code prints a message depending on the day of the week (represented by a number):
= 3
day
if day == 1:
print("It's Monday!")
elif day == 2:
print("It's Tuesday!")
elif day == 3:
print("It's Wednesday!")
elif day == 4:
print("It's Thursday!")
elif day == 5:
print("It's Friday!")
elif day == 6:
print("It's Saturday!")
elif day == 7:
print("It's Sunday!")
else:
print("Invalid day number.") # Output: It's Wednesday!
Example 3: Checking for Data Types
This demonstrates how elif
can be used to check the type of a variable:
= 10
data
if isinstance(data, int):
print("It's an integer.")
elif isinstance(data, str):
print("It's a string.")
elif isinstance(data, float):
print("It's a float.")
else:
print("It's another data type.") # Output: It's an integer.
These examples showcase the versatility of the elif
statement. It streamlines conditional logic, making your code more readable and easier to maintain. Remember that the conditions are evaluated sequentially; once a True
condition is encountered, the corresponding block executes, and the rest of the elif
and else
blocks are skipped.
Nested elif
Statements
You can also nest elif
statements within other if
or elif
blocks to create more complex conditional structures. However, be mindful of readability and consider refactoring to simpler structures if nesting becomes too deep.