Bird
Raised Fist0
Pythonprogramming~20 mins

If statement 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 Statement 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 > 8:
        print("A")
    else:
        print("B")
else:
    print("C")
AA
BB
CC
DNo output
Attempts:
2 left
💡 Hint
Check the conditions step by step from top to bottom.
Predict Output
intermediate
2:00remaining
If-elif-else execution output
What will be printed when this code runs?
Python
num = 0
if num > 0:
    print("Positive")
elif num == 0:
    print("Zero")
else:
    print("Negative")
AZero
BNo output
CNegative
DPositive
Attempts:
2 left
💡 Hint
Check which condition matches the value of num.
Predict Output
advanced
2:00remaining
Output with multiple if statements
What is the output of this code snippet?
Python
a = 3
if a > 2:
    print("X")
if a > 4:
    print("Y")
else:
    print("Z")
A
X
Y
B
X
Z
CZ
DX
Attempts:
2 left
💡 Hint
Remember that the else belongs to the second if only.
Predict Output
advanced
2:00remaining
If statement with logical operators
What will this code print?
Python
x = 7
y = 5
if x > 5 and y < 10:
    print("Yes")
elif x > 5 or y > 10:
    print("Maybe")
else:
    print("No")
ANo
BMaybe
CYes
DSyntaxError
Attempts:
2 left
💡 Hint
Check the first condition carefully with both parts.
Predict Output
expert
2:00remaining
If statement with assignment expression
What is the output of this code?
Python
if (n := 4) > 3:
    print(n * 2)
else:
    print(n / 2)
A4
B2.0
CSyntaxError
D8
Attempts:
2 left
💡 Hint
The walrus operator assigns and returns the value in the condition.

Practice

(1/5)
1. What does an if statement do in Python?
easy
A. It stores data in a list.
B. It repeats code multiple times.
C. It runs code only if a condition is true.
D. It defines a new function.

Solution

  1. Step 1: Understand the purpose of if

    An if statement checks a condition and runs code only if that condition is true.
  2. Step 2: Compare with other options

    Repeating code is done by loops, storing data is done by lists, and defining functions uses def.
  3. Final Answer:

    It runs code only if a condition is true. -> Option C
  4. Quick Check:

    if runs code if condition true [OK]
Hint: If checks condition; runs code only when true [OK]
Common Mistakes:
  • Confusing if with loops
  • Thinking if stores data
  • Mixing if with function definition
2. Which of the following is the correct syntax for an if statement in Python?
easy
A. if x > 5 then:
B. if x > 5:
C. if (x > 5) {}
D. if x > 5 then

Solution

  1. Step 1: Recall Python if syntax

    Python uses a colon : after the condition and no parentheses or 'then'.
  2. Step 2: Check each option

    if x > 5: uses if x > 5: which is correct. Others use 'then' or braces which are not Python syntax.
  3. Final Answer:

    if x > 5: -> Option B
  4. Quick Check:

    Python if ends with colon [OK]
Hint: Python if ends with colon, no 'then' or braces [OK]
Common Mistakes:
  • Adding 'then' after condition
  • Using braces {} like other languages
  • Forgetting the colon at the end
3. What will be the output of this code?
age = 20
if age < 18:
    print("Child")
elif age < 65:
    print("Adult")
else:
    print("Senior")
medium
A. Adult
B. Senior
C. Child
D. No output

Solution

  1. Step 1: Check the value of age

    The variable age is 20.
  2. Step 2: Evaluate conditions in order

    First condition age < 18 is false (20 is not less than 18). Second condition age < 65 is true (20 is less than 65), so it prints "Adult" and skips the else.
  3. Final Answer:

    Adult -> Option A
  4. Quick Check:

    20 is less than 65, prints Adult [OK]
Hint: Check conditions top to bottom; first true runs [OK]
Common Mistakes:
  • Printing Child for age 20
  • Ignoring elif and jumping to else
  • Thinking no output if first condition false
4. Find the error in this code:
score = 75
if score >= 90
    print("Excellent")
elif score >= 60:
    print("Pass")
else:
    print("Fail")
medium
A. score variable not defined
B. Wrong indentation on print statements
C. Using elif instead of else if
D. Missing colon after first if condition

Solution

  1. Step 1: Check syntax of if statement

    The first if line is missing a colon : at the end, which is required in Python.
  2. Step 2: Verify other parts

    Indentation and elif usage are correct. The variable score is defined.
  3. Final Answer:

    Missing colon after first if condition -> Option D
  4. Quick Check:

    Every if needs a colon [OK]
Hint: Check colons after all if/elif/else lines [OK]
Common Mistakes:
  • Forgetting colon after if condition
  • Confusing elif with else if syntax
  • Incorrect indentation of print lines
5. You want to print "Positive", "Zero", or "Negative" based on a number's value. Which code correctly uses if, elif, and else to do this?
hard
A. if num > 0: print("Positive") elif num == 0: print("Zero") else: print("Negative")
B. if num > 0: print("Positive") if num == 0: print("Zero") else: print("Negative")
C. if num > 0: print("Positive") else if num == 0: print("Zero") else: print("Negative")
D. if num > 0: print("Positive") elif num < 0: print("Zero") else: print("Negative")

Solution

  1. Step 1: Understand correct if-elif-else structure

    Use if for first condition, elif for the second, and else for all other cases.
  2. Step 2: Check each option

    if num > 0: print("Positive") elif num == 0: print("Zero") else: print("Negative") correctly uses elif and else. if num > 0: print("Positive") if num == 0: print("Zero") else: print("Negative") uses two separate if statements which can cause multiple prints. if num > 0: print("Positive") else if num == 0: print("Zero") else: print("Negative") uses invalid syntax else if. if num > 0: print("Positive") elif num < 0: print("Zero") else: print("Negative")'s elif num < 0 will print "Zero" for negative numbers and "Negative" for zero incorrectly.
  3. Final Answer:

    if num > 0: print("Positive") elif num == 0: print("Zero") else: print("Negative") -> Option A
  4. Quick Check:

    Use if, elif, else for exclusive conditions [OK]
Hint: Use if, elif, else for clear exclusive choices [OK]
Common Mistakes:
  • Using multiple separate ifs causing multiple outputs
  • Writing else if instead of elif
  • Overlapping conditions causing wrong output