Python If, Else, Elif, and Nested If Explained with Examples

Python conditional statements, including if, if-else, if-elif-else, and nested-if, enable dynamic decision-making in programs. These Python if statements are essential for controlling program flow, handling user input, and implementing Python decision making. This guide explores their syntax, practical examples, and best practices to help you master Python conditional statements effectively.

What Are Python Conditional Statements?

Python conditional statements evaluate boolean expressions and execute specific code blocks based on whether conditions are True or False. They are fundamental for Python decision making, enabling flexible and dynamic code execution.

Learn more about Python basics for foundational context.

1. if Statement in Python

The if statement executes a code block if a condition is True, a core component of Python if statements.

Syntax:

if condition:
    # Code block
  

Example of if Statement:

x = 10
if x > 5:
    print("x is greater than 5")  # Output: x is greater than 5
  

If the condition is False, the block is skipped.

2. if-else Statement

The if-else statement executes one block for a True condition and another for False, enhancing Python decision making.

Syntax:

if condition:
    # Code block for True
else:
    # Code block for False
  

Example of if-else:

age = 16
if age >= 18:
    print("You are an adult")
else:
    print("You are a minor")  # Output: You are a minor
  

3. if-elif-else Statement

The if-elif-else statement checks multiple conditions sequentially, executing the first True condition’s block or the else block if none are True.

Syntax:

if condition1:
    # Code block for condition1
elif condition2:
    # Code block for condition2
else:
    # Code block if all conditions are False
  

Example of if-elif-else:

score = 85
if score >= 90:
    print("Grade: A")
elif score >= 80:
    print("Grade: B")  # Output: Grade: B
elif score >= 70:
    print("Grade: C")
else:
    print("Grade: D or below")
  

4. nested-if Statement

A nested-if statement places an if inside another if, elif, or else block to handle complex Python decision making.

Syntax:

if condition1:
    if condition2:
        # Code block for both conditions True
    else:
        # Code block for condition1 True, condition2 False
else:
    # Code block for condition1 False
  

Example of nested-if:

age = 20
has_id = True
if age >= 18:
    if has_id:
        print("Access granted")  # Output: Access granted
    else:
        print("ID required")
else:
    print("Access denied: Too young")
  

Explore Python logical operators for combining conditions.

Combining with Logical Operators in Python If Statements

Logical operators (and, or, not) enhance Python conditional statements by combining conditions.

Example with Logical Operators:

temperature = 25
humidity = 60
if temperature > 20 and humidity < 70:
    print("Comfortable weather")  # Output: Comfortable weather
else:
    print("Uncomfortable weather")
  

Practical Use Cases for Python Conditional Statements

User Input Validation: Validate user input for correctness.

try:
    num = int(input("Enter a number: "))
    if num > 0:
        print("Positive")
    elif num == 0:
        print("Zero")
    else:
        print("Negative")
except ValueError:
    print("Invalid input")
  

Grading System: Assign grades based on score ranges.

try:
    score = float(input("Enter score (0-100): "))
    if score > 100 or score < 0:
        print("Invalid score")
    elif score >= 90:
        print("Grade: A")
    elif score >= 80:
        print("Grade: B")
    else:
        print("Grade: C or below")
except ValueError:
    print("Please enter a valid number")
  

Access Control: Implement complex logic with nested conditions.

username = "admin"
password = "secret"
if username == "admin":
    if password == "secret":
        print("Login successful")
    else:
        print("Incorrect password")
else:
    print("Unknown user")
  

Best Practices for Python Conditional Statements

Follow these best practices for effective Python if statements:

  • Keep Conditions Simple: Break complex conditions into smaller parts or use logical operators for clarity.
  • Use elif for Mutual Exclusivity: Prefer elif over multiple if statements for mutually exclusive conditions.
  • Limit Nesting: Avoid deep nesting; refactor into functions or use early returns for readability.
  • Handle Errors: Use try-except to manage invalid inputs, especially with user data.
  • Use Descriptive Names: Choose variable names like is_adult to clarify condition purpose.

Example with Best Practices:

try:
    age = int(input("Enter your age: "))
    has_permission = input("Permission granted? (yes/no): ").lower() == "yes"
    if age >= 18:
        if has_permission:
            print("Access granted")
        else:
            print("Permission required")
    else:
        print("Access denied: Too young")
except ValueError:
    print("Please enter a valid age")
  

Learn more about Python error handling for robust code.

Frequently Asked Questions About Python Conditional Statements

What are Python conditional statements?

Python conditional statements (if, if-else, if-elif-else, nested-if) evaluate conditions to execute specific code blocks, enabling Python decision making.

When should I use elif vs multiple if statements?

Use elif for mutually exclusive conditions to avoid redundant checks and improve efficiency.

How can I improve readability of nested-if statements?

Limit nesting, use functions for complex logic, and employ descriptive variable names to enhance clarity.

Can logical operators be used with conditional statements?

Yes, logical operators (and, or, not) combine conditions in Python if statements for flexible logic.

Conclusion

Python conditional statements—if, if-else, if-elif-else, and nested-if—are vital for implementing Python decision making. By mastering their syntax and applying the provided examples, you can handle tasks from simple checks to complex logic. Follow best practices to ensure readable, robust code. Explore related topics like Python ternary operator or Python logical operators to enhance your skills!

Next Post Previous Post