Bird
Raised Fist0
Pythonprogramming~5 mins

If–else execution flow in Python - Time & Space Complexity

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
Time Complexity: If-else execution flow
O(1)
Understanding Time Complexity

We want to see how the time a program takes changes when it uses if-else decisions.

How does choosing one path or another affect how long the program runs?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def check_number(num):
    if num > 0:
        return "Positive"
    else:
        return "Non-positive"

result = check_number(10)

This code checks if a number is positive or not and returns a message.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: A single if-else decision.
  • How many times: Exactly once per function call.
How Execution Grows With Input

Whether the input number is small or large, the program only checks one condition once.

Input Size (n)Approx. Operations
101 check
1001 check
10001 check

Pattern observation: The number of operations stays the same no matter the input size.

Final Time Complexity

Time Complexity: O(1)

This means the program takes the same amount of time no matter what number you give it.

Common Mistake

[X] Wrong: "If-else makes the program slower as numbers get bigger."

[OK] Correct: The if-else only checks once, so bigger numbers don't add more work.

Interview Connect

Understanding simple if-else time helps you explain how decisions affect program speed clearly and confidently.

Self-Check

"What if we added a loop that runs n times inside the if block? How would the time complexity change?"

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