Nested conditional execution helps you make decisions inside other decisions. It lets your program check more than one condition step by step.
When you want to check if a number is positive, and then check if it is even or odd.
When you ask a user for their age and then check if they are a child, teenager, or adult.
When you want to check if a password is correct and then check if the user has admin rights.
When you want to decide what to wear based on weather and then based on temperature.
Syntax
Python
if condition1:
if condition2:
# code if both conditions are trueelse:
# code if condition1 is true but condition2 is falseelse:
# code if condition1 is false
Indentation is important to show which code belongs inside each condition.
You can nest as many if statements as you need, but keep it clear.
Examples
This checks if x is positive, then checks if it is even or odd.
Python
x = 10if x > 0:
if x % 2 == 0:
print("Positive even number")
else:
print("Positive odd number")
This checks age groups by nesting conditions inside each other.
Python
age = 15if age < 18:
if age < 13:
print("Child")
else:
print("Teenager")
else:
print("Adult")
Sample Program
This program assigns a grade based on the score using nested conditions.
Too many nested conditions can make code hard to read. Try to keep it simple.
You can use elif inside nested conditions to check multiple cases.
Summary
Nested conditionals let you check one condition inside another.
Indentation shows which code belongs to which condition.
Use nested conditionals to handle complex decisions step by step.
Practice
(1/5)
1. What does nested conditional execution mean in Python?
easy
A. An if or else inside another if or else
B. Using multiple if statements one after another
C. Writing if statements without indentation
D. Using only one if statement in a program
Solution
Step 1: Understand the meaning of nested conditionals
Nested conditionals mean putting one conditional inside another, like an if inside an if.
Step 2: Compare options to definition
An if or else inside another if or else correctly describes this as an if or else inside another if or else. Other options describe different or incorrect ideas.
Final Answer:
An if or else inside another if or else -> Option A
Quick Check:
Nested conditional = if inside if [OK]
Hint: Look for conditionals inside other conditionals [OK]
Common Mistakes:
Thinking multiple separate ifs are nested
Ignoring indentation importance
Confusing nested with chained conditionals
2. Which of the following is the correct syntax for nested conditionals in Python?
easy
A. if x > 0:
if x < 10:
print('x is between 1 and 9')
B. if x > 0
if x < 10:
print('x is between 1 and 9')
C. if x > 0:
if x < 10:
print('x is between 1 and 9')
D. if x > 0:
print('x is positive')
else if x < 10:
print('x is less than 10')
Solution
Step 1: Check indentation and colons
Python requires colons after if and proper indentation for nested blocks.
Step 2: Analyze each option
if x > 0:
if x < 10:
print('x is between 1 and 9') uses colons and indents the inner if correctly. Options A and B miss colons or indentation. if x > 0:
print('x is positive')
else if x < 10:
print('x is less than 10') uses invalid else if instead of elif.
Final Answer:
if x > 0:
if x < 10:
print('x is between 1 and 9') -> Option C
Quick Check:
Colons + indentation = correct syntax [OK]
Hint: Check colons and indentation for nested blocks [OK]
Common Mistakes:
Missing colons after if statements
Incorrect indentation of nested if
Using else if instead of elif
3. What is the output of this code?
score = 85
if score >= 90:
print('Grade A')
else:
if score >= 80:
print('Grade B')
else:
print('Grade C')
medium
A. Grade A
B. Grade B
C. Grade C
D. No output
Solution
Step 1: Check first condition
score is 85, which is not >= 90, so skip first print.
Step 2: Check nested else condition
Inside else, check if score >= 80. 85 >= 80 is True, so print 'Grade B'.
4. Find the error in this nested conditional code:
num = 5
if num > 0:
if num < 10:
print('Number is between 1 and 9')
medium
A. Missing colon after first if
B. No error, code is correct
C. Using print without parentheses
D. Incorrect indentation of inner if and print
Solution
Step 1: Check colons
Both if statements have colons, so no missing colon error.
Step 2: Check indentation
Inner if and print are not indented under outer if, causing syntax error.
Final Answer:
Incorrect indentation of inner if and print -> Option D
Quick Check:
Nested blocks must be indented [OK]
Hint: Indent nested if and its code properly [OK]
Common Mistakes:
Forgetting to indent nested blocks
Confusing missing colon with indentation error
Assuming print syntax error without checking Python version
5. You want to check if a number is positive, and if positive, check if it is even or odd. Which nested conditional code correctly prints 'Positive even' or 'Positive odd' accordingly?
hard
A. if num > 0:
if num % 2 == 0:
print('Positive even')
else:
print('Positive odd')
B. if num > 0 and num % 2 == 0:
print('Positive even')
else:
print('Positive odd')
C. if num > 0:
if num % 2 == 0:
print('Positive even')
else:
print('Positive odd')
D. if num > 0:
if num % 2 == 0:
print('Positive even')
else:
print('Positive odd')
Solution
Step 1: Understand the logic needed
First check if number is positive, then inside that check if even or odd.
Step 2: Analyze options for correct nesting and indentation
if num > 0:
if num % 2 == 0:
print('Positive even')
else:
print('Positive odd') correctly nests the even/odd check inside the positive check with proper indentation. if num > 0 and num % 2 == 0:
print('Positive even')
else:
print('Positive odd') combines conditions but does not handle odd positive numbers correctly. Options C and D have indentation errors.
Final Answer:
if num > 0:
if num % 2 == 0:
print('Positive even')
else:
print('Positive odd') -> Option A
Quick Check:
Nested if with correct indentation prints right message [OK]
Hint: Indent inner if inside outer if for stepwise checks [OK]
Common Mistakes:
Combining conditions incorrectly
Indentation errors in nested blocks
Missing else for odd case
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.