Elif Statement

basic
Published

July 1, 2024

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:

score = 85

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

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):

day = 3

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:

data = 10

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.