Bird
Raised Fist0
Pythonprogramming~5 mins

For loop execution model 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: For loop execution model
O(n)
Understanding Time Complexity

When we use a for loop, we want to know how the time it takes grows as we repeat actions.

We ask: How does running the loop more times affect the total work done?

Scenario Under Consideration

Analyze the time complexity of the following code snippet.

def print_numbers(n):
    for i in range(n):
        print(i)

This code prints numbers from 0 up to n-1 using a for loop.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The print statement inside the for loop.
  • How many times: Exactly n times, once for each number from 0 to n-1.
How Execution Grows With Input

As n grows, the number of print actions grows the same way.

Input Size (n)Approx. Operations
1010 prints
100100 prints
10001000 prints

Pattern observation: The work grows directly in step with n; double n means double work.

Final Time Complexity

Time Complexity: O(n)

This means the time to run grows in a straight line with the number of loop steps.

Common Mistake

[X] Wrong: "The loop runs instantly no matter how big n is."

[OK] Correct: Each loop step takes some time, so more steps mean more total time.

Interview Connect

Understanding how loops grow helps you explain your code clearly and shows you know how programs scale.

Self-Check

"What if we added a nested for loop inside the first one? How would the time complexity change?"

Practice

(1/5)
1. What does a for loop do in Python?
easy
A. Repeats a block of code for each item in a sequence
B. Runs code only once
C. Stops the program immediately
D. Creates a new variable

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop runs code repeatedly for each item in a list, string, or range. 'Repeats a block of code for each item in a sequence' matches this; others do not.
  2. Final Answer:

    Repeats a block of code for each item in a sequence -> Option A
  3. Quick Check:

    For loop = repeat for each item [OK]
Hint: For loops repeat actions for every item in a list [OK]
Common Mistakes:
  • Thinking for loops run only once
  • Confusing for loops with if statements
  • Believing for loops stop the program
2. Which of the following is the correct syntax for a for loop in Python?
easy
A. for (i=0; i<5; i++) print(i)
B. for i to range(5) print(i)
C. for i in range(5): print(i)
D. foreach i in range(5): print(i)

Solution

  1. Step 1: Recall Python for loop syntax

    Python uses 'for variable in sequence:' followed by indented code. 'for i in range(5): print(i)' matches; others use wrong keywords or styles.
  2. Final Answer:

    for i in range(5): print(i) -> Option C
  3. Quick Check:

    Python for loop = for variable in sequence: [OK]
Hint: Use 'for variable in sequence:' syntax in Python [OK]
Common Mistakes:
  • Using 'to' instead of 'in'
  • Using C-style for loop syntax
  • Using 'foreach' which is not Python
3. What is the output of this code?
for i in range(3):
    print(i * 2)
medium
A. 2 4 6
B. 0 1 2
C. 1 2 3
D. 0 2 4

Solution

  1. Step 1: Trace the loop range and output

    range(3) gives i=0,1,2. Prints i*2: 0, 2, 4.
  2. Final Answer:

    0 2 4 -> Option D
  3. Quick Check:

    Multiply each i by 2 = 0 2 4 [OK]
Hint: Multiply loop variable by 2 for each iteration [OK]
Common Mistakes:
  • Printing i instead of i*2
  • Starting count from 1 instead of 0
  • Confusing range(3) with range(1,3)
4. Find the error in this code:
for i in range(5)
    print(i)
medium
A. Indentation error on print line
B. Missing colon ':' after range(5)
C. range(5) is invalid syntax
D. Variable i is not defined

Solution

  1. Step 1: Check for syntax errors in for loop

    Python requires ':' after the for statement. The code misses ':' after range(5).
  2. Final Answer:

    Missing colon ':' after range(5) -> Option B
  3. Quick Check:

    For loop needs ':' after header [OK]
Hint: Always add ':' after for loop header [OK]
Common Mistakes:
  • Forgetting colon ':' after for statement
  • Incorrect indentation
  • Assuming range(5) is invalid
5. You want to create a list of squares for numbers 0 to 4 using a for loop. Which code correctly does this?
hard
A. squares = [] for i in range(5): squares.append(i*i) print(squares)
B. squares = [i*i for i in range(5)] print(squares)
C. squares = [] for i in range(5): squares = i*i print(squares)
D. for i in range(5): squares.append(i*i) print(squares)

Solution

  1. Step 1: Identify correct code for list of squares using for loop

    Initialize squares = [], then for i in range(5): append i*i, then print. squares = [] for i in range(5): squares.append(i*i) print(squares) works; others miss init, use comp, or overwrite.
  2. Final Answer:

    squares = []\nfor i in range(5):\n squares.append(i*i)\nprint(squares) -> Option A
  3. Quick Check:

    Initialize list, append squares in loop [OK]
Hint: Initialize list before loop, append inside loop [OK]
Common Mistakes:
  • Not initializing list before appending
  • Overwriting list variable inside loop
  • Using list comprehension but question asks for for loop