Bird
Raised Fist0
Pythonprogramming~10 mins

For loop execution model in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print each number from 1 to 3.

Python
for num in [1]:
    print(num)
Drag options to blanks, or click blank then click option'
Arange(1, 4)
B[1, 2]
Clist(3)
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using a single number instead of a range.
Using a list with fewer numbers than needed.
2fill in blank
medium

Complete the code to sum all numbers from 1 to 5 using a for loop.

Python
total = 0
for i in range(1, 6):
    total += [1]
print(total)
Drag options to blanks, or click blank then click option'
Atotal
Bi
Crange(1, 6)
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Adding the total to itself instead of the loop variable.
Using the range function inside the loop body.
3fill in blank
hard

Fix the error in the code to print each character in the string.

Python
word = "hello"
for [1] in word:
    print(letter)
Drag options to blanks, or click blank then click option'
Achar
Bword
Cletter
Dstring
Attempts:
3 left
💡 Hint
Common Mistakes
Using a different variable name in the loop header and body.
Using the string variable name as the loop variable.
4fill in blank
hard

Fill both blanks to create a dictionary with words as keys and their lengths as values for words longer than 3 letters.

Python
lengths = { [1]: [2] for word in words if len(word) > 3 }
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
Cword.upper()
Dlen
Attempts:
3 left
💡 Hint
Common Mistakes
Using a method like word.upper() as the key.
Using the function len without calling it.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase words as keys, their lengths as values, only for words longer than 4 letters.

Python
result = { [1]: [2] for word in words if [3] }
Drag options to blanks, or click blank then click option'
Aword.upper()
Blen(word)
Clen(word) > 4
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using the original word as key instead of uppercase.
Forgetting to call len(word) in the condition.
Using wrong comparison operators.

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