Bird
Raised Fist0
Pythonprogramming~20 mins

For loop execution model in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
For Loop Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of nested for loops with break
What is the output of this Python code?
Python
result = []
for i in range(3):
    for j in range(3):
        if j == 1:
            break
        result.append((i, j))
print(result)
A[(0, 0), (1, 0), (2, 0)]
B[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
C[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
D[(0, 0), (1, 0), (2, 0), (2, 1)]
Attempts:
2 left
💡 Hint
Remember that 'break' stops the inner loop only.
Predict Output
intermediate
1:30remaining
For loop with else clause output
What will be printed by this code?
Python
for num in range(3):
    print(num)
else:
    print('Done')
ADone
B
0
1
2
C
0
1
2
Done
D
0
1
Done
Attempts:
2 left
💡 Hint
The else block runs if the loop completes normally.
Predict Output
advanced
1:30remaining
Effect of modifying loop variable inside for loop
What is the output of this code?
Python
nums = [1, 2, 3]
for n in nums:
    n += 10
print(nums)
A[1, 2, 3]
B[11, 12, 13]
C[1, 12, 3]
DTypeError
Attempts:
2 left
💡 Hint
Changing the loop variable does not change the list elements.
Predict Output
advanced
1:30remaining
Loop with continue and else behavior
What will this code print?
Python
for i in range(3):
    if i == 1:
        continue
    print(i)
else:
    print('Finished')
A
0
1
2
Finished
B
0
1
2
C
0
2
D
0
2
Finished
Attempts:
2 left
💡 Hint
Continue skips the current iteration but does not stop the loop.
🧠 Conceptual
expert
1:30remaining
Understanding for loop iteration and variable scope
Consider this code snippet. What is the value of i after the loop finishes?
Python
for i in range(5):
    pass
print(i)
ANameError
B4
C0
D5
Attempts:
2 left
💡 Hint
The loop variable keeps the last value it had in the loop.

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