Bird
Raised Fist0
Pythonprogramming~5 mins

If–else execution flow in Python

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

If-else helps your program make choices. It runs one set of instructions if something is true, and another set if it is not.

Deciding what to do based on user input, like checking if a password is correct.
Choosing different actions depending on the time of day, like saying good morning or good evening.
Checking if a number is positive or negative and acting accordingly.
Showing a message if a list is empty or has items.
Syntax
Python
if condition:
    # code to run if condition is true
else:
    # code to run if condition is false

The condition is a question your program asks, which is either true or false.

Indentation (spaces before code) shows which lines belong to if or else.

Examples
This checks if age is 18 or more. If yes, it prints a message saying you can vote. Otherwise, it says you are too young.
Python
if age >= 18:
    print("You can vote.")
else:
    print("You are too young to vote.")
This decides what message to show based on the temperature.
Python
if temperature > 30:
    print("It's hot outside.")
else:
    print("It's not too hot today.")
Sample Program

This program checks the temperature and prints a message. Since 25 is not greater than 30, it prints the else message.

Python
temperature = 25
if temperature > 30:
    print("It's hot outside.")
else:
    print("It's not too hot today.")
OutputSuccess
Important Notes

You can add more choices using elif (else if) for multiple conditions.

Always make sure your conditions cover all cases you want to handle.

Summary

If-else lets your program choose between two paths.

Use it to run code only when certain conditions are true or false.

Indentation is important to show which code belongs to each part.

Practice

(1/5)
1. What does an if-else statement do in Python?
easy
A. It chooses between two paths based on a condition.
B. It repeats code multiple times.
C. It defines a function.
D. It creates a list.

Solution

  1. Step 1: Understand the purpose of if-else

    An if-else statement lets the program decide which code to run based on a condition being true or false.
  2. Step 2: Compare with other options

    Repeating code is done by loops, functions define reusable code blocks, and lists store multiple items, so these are not correct.
  3. Final Answer:

    It chooses between two paths based on a condition. -> Option A
  4. Quick Check:

    If-else = choose path [OK]
Hint: If-else picks one of two paths based on condition [OK]
Common Mistakes:
  • Confusing if-else with loops
  • Thinking if-else creates data structures
  • Mixing if-else with function definitions
2. Which of the following is the correct syntax for an if-else statement in Python?
easy
A. if x > 0: print('Positive') else: print('Non-positive')
B. if x > 0 then print('Positive') else print('Non-positive')
C. if (x > 0) { print('Positive'); } else { print('Non-positive'); }
D. if x > 0 print('Positive') else print('Non-positive')

Solution

  1. Step 1: Recall Python if-else syntax

    Python uses a colon after the condition and indentation for the code blocks.
  2. Step 2: Check each option

    if x > 0: print('Positive') else: print('Non-positive') uses colons and indentation correctly. if x > 0 then print('Positive') else print('Non-positive') uses 'then' which is not Python syntax. if (x > 0) { print('Positive'); } else { print('Non-positive'); } uses braces and semicolons, which are for other languages. if x > 0 print('Positive') else print('Non-positive') misses colons and indentation.
  3. Final Answer:

    if x > 0: print('Positive') else: print('Non-positive') -> Option A
  4. Quick Check:

    Colon + indent = correct if-else [OK]
Hint: Remember colons and indentation for if-else in Python [OK]
Common Mistakes:
  • Using 'then' keyword
  • Forgetting colons after if and else
  • Not indenting code blocks
3. What will be the output of this code?
age = 18
if age >= 18:
    print('Adult')
else:
    print('Minor')
medium
A. Minor
B. Adult
C. 18
D. No output

Solution

  1. Step 1: Evaluate the condition age >= 18

    Since age is 18, the condition age >= 18 is true.
  2. Step 2: Determine which block runs

    Because the condition is true, the code inside the if block runs, printing 'Adult'.
  3. Final Answer:

    Adult -> Option B
  4. Quick Check:

    Condition true -> print 'Adult' [OK]
Hint: Check if condition is true or false to pick output [OK]
Common Mistakes:
  • Assuming >= means less than
  • Printing else block by mistake
  • Confusing output with variable value
4. Find the error in this code:
num = 5
if num > 0
    print('Positive')
else:
    print('Non-positive')
medium
A. Variable 'num' is not defined
B. Wrong indentation on print statements
C. Missing colon ':' after 'if num > 0' line
D. 'else' should be 'elif' here

Solution

  1. Step 1: Check syntax of if statement

    The if statement must end with a colon ':' to mark the start of the block.
  2. Step 2: Identify the missing colon

    The code misses the colon after 'if num > 0', causing a syntax error.
  3. Final Answer:

    Missing colon ':' after 'if num > 0' line -> Option C
  4. Quick Check:

    Colon needed after if condition [OK]
Hint: Always put colon after if condition [OK]
Common Mistakes:
  • Forgetting colon after if
  • Confusing else with elif
  • Incorrect indentation
5. You want to write a program that prints 'Even' if a number is even, and 'Odd' if it is odd. Which code correctly uses if-else to do this?
hard
A. num = 4 if num % 2: print('Even') else: print('Odd')
B. num = 4 if num / 2 == 0: print('Even') else: print('Odd')
C. num = 4 if num % 2 != 0: print('Even') else: print('Odd')
D. num = 4 if num % 2 == 0: print('Even') else: print('Odd')

Solution

  1. Step 1: Understand how to check even numbers

    A number is even if dividing by 2 leaves no remainder, so num % 2 == 0 is true for even numbers.
  2. Step 2: Check each option's condition

    num = 4 if num % 2 == 0: print('Even') else: print('Odd') correctly uses num % 2 == 0. num = 4 if num / 2 == 0: print('Even') else: print('Odd') uses division instead of modulo, which is wrong. num = 4 if num % 2: print('Even') else: print('Odd') treats nonzero remainder as even, which is incorrect. num = 4 if num % 2 != 0: print('Even') else: print('Odd') reverses the logic.
  3. Final Answer:

    num = 4 if num % 2 == 0: print('Even') else: print('Odd') -> Option D
  4. Quick Check:

    Modulo equals zero means even [OK]
Hint: Use 'num % 2 == 0' to check even numbers [OK]
Common Mistakes:
  • Using division instead of modulo
  • Reversing even and odd logic
  • Checking truthiness of modulo without comparison