Continue statement behavior in Python - Time & Space Complexity
Start learning this pattern below
Jump into concepts and practice - no test required
Let's explore how the continue statement affects the time complexity of loops.
We want to know how skipping some steps changes the total work done as input grows.
Analyze the time complexity of the following code snippet.
for i in range(n):
if i % 2 == 0:
continue
print(i)
This code loops from 0 to n-1, but skips printing when the number is even.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The loop runs through all numbers from 0 to n-1.
- How many times: Exactly n times, but some steps skip printing due to
continue.
Even though some steps skip printing, the loop still checks every number.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 checks, 5 prints |
| 100 | 100 checks, 50 prints |
| 1000 | 1000 checks, 500 prints |
Pattern observation: The loop runs n times, but printing happens about half as often.
Time Complexity: O(n)
This means the total work grows directly with the size of the input, even if some steps skip actions.
[X] Wrong: "Since continue skips some steps, the loop runs fewer times and is faster."
[OK] Correct: The loop still checks every item; skipping only avoids some actions inside the loop, not the loop itself.
Understanding how continue affects loops helps you explain code efficiency clearly and shows you know how loops behave in real situations.
What if we replaced continue with break? How would the time complexity change?
Practice
continue statement do inside a loop in Python?Solution
Step 1: Understand the role of
Thecontinuecontinuestatement tells the loop to skip the remaining code in the current iteration.Step 2: Identify the loop behavior after
After skipping, the loop moves to the next iteration without stopping the whole loop.continueFinal Answer:
Skips the rest of the current loop iteration and moves to the next one -> Option CQuick Check:
continueskips current step [OK]
- Confusing continue with break
- Thinking continue exits the function
- Assuming continue repeats the iteration
continue inside a for loop?Solution
Step 1: Check Python loop syntax
Python requires a colon after the for statement and indentation for the loop body.Step 2: Identify correct placement of
continuecontinuemust be inside the loop body, properly indented on the next line.Final Answer:
for i in range(5):\n continue -> Option DQuick Check:
Colon + indent + continue line [OK]
- Missing colon after for statement
- Writing continue on same line without colon
- Using braces {} which are not Python syntax
for i in range(5):
if i == 2:
continue
print(i)Solution
Step 1: Trace loop iterations and condition
The loop runs i from 0 to 4. When i is 2,continueskips printing.Step 2: List printed values
Values printed are 0, 1, 3, and 4 because 2 is skipped.Final Answer:
0 1 3 4 -> Option AQuick Check:
continue skips i=2 print [OK]
- Including 2 in output
- Thinking continue stops loop
- Confusing continue with break
i = 0
while i < 5:
if i == 3:
continue
print(i)
i += 1Solution
Step 1: Analyze loop and continue effect
When i equals 3,continueskips the rest, soi += 1is not executed.Step 2: Understand consequence
Since i stays 3 forever, the loop never ends, causing an infinite loop.Final Answer:
Infinite loop because i is not incremented when i == 3 -> Option AQuick Check:
continue skips i++ causes infinite loop [OK]
- Ignoring that continue skips increment
- Thinking continue causes syntax error
- Assuming loop ends normally
for loop and continue. Which code correctly does this?Solution
Step 1: Understand the goal
We want to skip printing numbers divisible by 3, so usecontinuewheni % 3 == 0.Step 2: Check each option
for i in range(1, 11): if i % 3 == 0: continue print(i) skips multiples of 3 correctly and prints others. for i in range(1, 11): if i % 3 != 0: continue print(i) skips non-multiples wrongly. for i in range(1, 11): if i % 3 == 0: break print(i) breaks loop early. for i in range(1, 11): if i % 3 == 0: pass else: print(i) uses pass but prints all except multiples of 3 correctly but without continue.Final Answer:
for i in range(1, 11): if i % 3 == 0: continue print(i) -> Option BQuick Check:
continue skips multiples of 3 print others [OK]
- Using break instead of continue
- Reversing condition logic
- Not skipping multiples of 3
