If statement execution flow in Python - Time & Space Complexity
Start learning this pattern below
Jump into concepts and practice - no test required
We want to see how the time it takes to run an if statement changes as the input changes.
Specifically, does checking conditions take more time when inputs grow?
Analyze the time complexity of the following code snippet.
def check_number(num):
if num > 0:
return "Positive"
elif num == 0:
return "Zero"
else:
return "Negative"
This code checks if a number is positive, zero, or negative and returns a string accordingly.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Single if-elif-else condition check
- How many times: Exactly once per function call
Checking the condition happens once no matter the input size.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 1 check |
| 100 | 1 check |
| 1000 | 1 check |
Pattern observation: The number of operations stays the same even if the input number changes.
Time Complexity: O(1)
This means the time to run the if statement does not grow with input size; it stays constant.
[X] Wrong: "If statements take longer when numbers get bigger because there are more checks."
[OK] Correct: The if statement only checks conditions once per call, no matter how big the number is.
Understanding that simple condition checks run in constant time helps you explain how your code handles decisions efficiently.
"What if we added a loop that runs the if statement multiple times? How would the time complexity change?"
Practice
if statement do in Python?Solution
Step 1: Understand the purpose of
Anififstatement checks a condition and runs code only if that condition is true.Step 2: Compare with other options
Repeating code is done by loops, storing data is done by lists, and defining functions usesdef.Final Answer:
It runs code only if a condition is true. -> Option CQuick Check:
ifruns code if condition true [OK]
- Confusing if with loops
- Thinking if stores data
- Mixing if with function definition
if statement in Python?Solution
Step 1: Recall Python
Python uses a colonifsyntax:after the condition and no parentheses or 'then'.Step 2: Check each option
if x > 5: usesif x > 5:which is correct. Others use 'then' or braces which are not Python syntax.Final Answer:
if x > 5: -> Option BQuick Check:
Pythonifends with colon [OK]
if ends with colon, no 'then' or braces [OK]- Adding 'then' after condition
- Using braces {} like other languages
- Forgetting the colon at the end
age = 20
if age < 18:
print("Child")
elif age < 65:
print("Adult")
else:
print("Senior")Solution
Step 1: Check the value of
The variableageageis 20.Step 2: Evaluate conditions in order
First conditionage < 18is false (20 is not less than 18). Second conditionage < 65is true (20 is less than 65), so it prints "Adult" and skips theelse.Final Answer:
Adult -> Option AQuick Check:
20 is less than 65, prints Adult [OK]
- Printing Child for age 20
- Ignoring
elifand jumping to else - Thinking no output if first condition false
score = 75
if score >= 90
print("Excellent")
elif score >= 60:
print("Pass")
else:
print("Fail")Solution
Step 1: Check syntax of
The firstifstatementifline is missing a colon:at the end, which is required in Python.Step 2: Verify other parts
Indentation andelifusage are correct. The variablescoreis defined.Final Answer:
Missing colon after first if condition -> Option DQuick Check:
Everyifneeds a colon [OK]
- Forgetting colon after if condition
- Confusing elif with else if syntax
- Incorrect indentation of print lines
if, elif, and else to do this?Solution
Step 1: Understand correct
Useif-elif-elsestructureiffor first condition,eliffor the second, andelsefor all other cases.Step 2: Check each option
if num > 0: print("Positive") elif num == 0: print("Zero") else: print("Negative") correctly useselifandelse. if num > 0: print("Positive") if num == 0: print("Zero") else: print("Negative") uses two separateifstatements which can cause multiple prints. if num > 0: print("Positive") else if num == 0: print("Zero") else: print("Negative") uses invalid syntaxelse if. if num > 0: print("Positive") elif num < 0: print("Zero") else: print("Negative")'selif num < 0will print "Zero" for negative numbers and "Negative" for zero incorrectly.Final Answer:
if num > 0: print("Positive") elif num == 0: print("Zero") else: print("Negative") -> Option AQuick Check:
Use if, elif, else for exclusive conditions [OK]
- Using multiple separate ifs causing multiple outputs
- Writing else if instead of elif
- Overlapping conditions causing wrong output
