Bird
Raised Fist0
Pythonprogramming~20 mins

If–else execution flow in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
If–else Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of nested if–else blocks
What is the output of this Python code?
Python
x = 10
if x > 5:
    if x > 15:
        print("A")
    else:
        print("B")
else:
    print("C")
AB
BC
CA
DNo output
Attempts:
2 left
💡 Hint
Check the conditions step by step, starting from the outer if.
Predict Output
intermediate
2:00remaining
If–else with multiple conditions
What will be printed by this code?
Python
score = 75
if score >= 90:
    print("Excellent")
elif score >= 70:
    print("Good")
else:
    print("Try again")
AExcellent
BNo output
CTry again
DGood
Attempts:
2 left
💡 Hint
Check which condition matches the score first.
Predict Output
advanced
2:00remaining
If–else with assignment expressions
What is the output of this code using the walrus operator?
Python
if (n := 4) > 3:
    print(f"Number {n} is greater than 3")
else:
    print(f"Number {n} is not greater than 3")
ANumber 4 is greater than 3
BNumber 4 is not greater than 3
CNo output
DSyntaxError
Attempts:
2 left
💡 Hint
The walrus operator assigns and returns the value in the condition.
Predict Output
advanced
2:00remaining
If–else with match-case and else
What will this code print?
Python
value = 2
match value:
    case 1:
        print("One")
    case 2:
        print("Two")
    case _:
        print("Other")
AOne
BTwo
COther
DSyntaxError
Attempts:
2 left
💡 Hint
The match-case checks the value against each case.
Predict Output
expert
2:00remaining
Complex if–else with multiple conditions and logical operators
What is the output of this code?
Python
a = 5
b = 10
if a > 0 and b < 5:
    print("X")
elif a > 0 or b < 5:
    print("Y")
else:
    print("Z")
AZ
BX
CY
DNo output
Attempts:
2 left
💡 Hint
Evaluate each condition carefully with the values of a and b.

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