Bird
Raised Fist0
Pythonprogramming~10 mins

Iteration using range() 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 numbers from 0 to 4 using a for loop and range().

Python
for i in [1](5):
    print(i)
Drag options to blanks, or click blank then click option'
Arange
Blist
Ctuple
Dset
Attempts:
3 left
💡 Hint
Common Mistakes
Using list(5) instead of range(5) causes an error.
Using tuple(5) or set(5) is invalid for iteration.
2fill in blank
medium

Complete the code to print numbers from 3 to 7 using range().

Python
for num in [1](3, 8):
    print(num)
Drag options to blanks, or click blank then click option'
Atuple
Blist
Crange
Dset
Attempts:
3 left
💡 Hint
Common Mistakes
Using 7 as the stop value will exclude 7 from the output.
Using list or tuple instead of range causes errors.
3fill in blank
hard

Fix the error in the code to print even numbers from 2 to 10 using range().

Python
for x in range(2, 11, [1]):
    print(x)
Drag options to blanks, or click blank then click option'
A2
B1
C3
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using step 1 prints all numbers, not just even ones.
Using step 3 or 4 skips some even numbers.
4fill in blank
hard

Fill both blanks to create a dictionary with numbers from 1 to 5 as keys and their squares as values.

Python
squares = {x: x[1]2 for x in [2](1, 6)}
Drag options to blanks, or click blank then click option'
A**
B*
Crange
Dlist
Attempts:
3 left
💡 Hint
Common Mistakes
Using * instead of ** calculates double the number, not square.
Using list instead of range causes errors in dictionary comprehension.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase letters as keys and their positions as values for letters A to E.

Python
letters = [1]: [2] for [3] in range(1, 6)}
Drag options to blanks, or click blank then click option'
Achr(i + 64)
Bi
Dchr(i)
Attempts:
3 left
💡 Hint
Common Mistakes
Using chr(i) gives wrong letters because ASCII codes start at 65 for 'A'.
Using wrong loop variable name causes errors.

Practice

(1/5)
1. What does range(5) do in a Python for loop?
easy
A. Generates numbers from 0 to 4
B. Generates numbers from 1 to 5
C. Generates numbers from 0 to 5
D. Generates numbers from 1 to 4

Solution

  1. Step 1: Understand the range function

    range(5) starts at 0 by default and stops before 5.
  2. Step 2: Identify the numbers generated

    The numbers generated are 0, 1, 2, 3, 4.
  3. Final Answer:

    Generates numbers from 0 to 4 -> Option A
  4. Quick Check:

    range(5) = 0,1,2,3,4 [OK]
Hint: Remember range stops before the end number [OK]
Common Mistakes:
  • Thinking range(5) includes 5
  • Starting count at 1 by default
  • Confusing stop value as inclusive
2. Which of the following is the correct syntax to loop 3 times using range()?
easy
A. for i in range(1, 3):
B. for i in range(3):
C. for i in range(0, 3, 2):
D. for i in range(3, 0):

Solution

  1. Step 1: Check each range syntax

    for i in range(1, 3): loops from 1 to 2 (2 times), for i in range(3): loops 0 to 2 (3 times), for i in range(0, 3, 2): loops 0 and 2 (2 times), for i in range(3, 0): runs zero times because start > stop without negative step.
  2. Step 2: Identify the correct loop count

    Only for i in range(3): loops exactly 3 times: 0,1,2.
  3. Final Answer:

    for i in range(3): -> Option B
  4. Quick Check:

    range(3) loops 3 times [OK]
Hint: range(n) loops exactly n times starting at 0 [OK]
Common Mistakes:
  • Using range(1, 3) which loops 2 times
  • Using invalid range with start > stop
  • Confusing step parameter
3. What is the output of this code?
for i in range(2, 7, 2):
    print(i, end=' ')
medium
A. 0 2 4 6
B. 2 3 4 5 6
C. 2 4 6 8
D. 2 4 6

Solution

  1. Step 1: Understand the range parameters

    range(2, 7, 2) starts at 2, stops before 7, stepping by 2.
  2. Step 2: List the numbers generated

    Numbers are 2, 4, 6.
  3. Final Answer:

    2 4 6 -> Option D
  4. Quick Check:

    range(2,7,2) = 2,4,6 [OK]
Hint: Start, stop, step control numbers generated [OK]
Common Mistakes:
  • Including 7 in output
  • Using wrong step size
  • Starting from 0 instead of 2
4. Find the error in this code:
for i in range(5, 1):
    print(i)
medium
A. No error, prints 5 to 1
B. SyntaxError due to wrong range syntax
C. Loop does not run because start > stop without step
D. Infinite loop

Solution

  1. Step 1: Analyze the range parameters

    range(5, 1) means start at 5, stop before 1, with default step 1.
  2. Step 2: Understand loop behavior

    Since start is greater than stop and step is positive, the loop runs zero times.
  3. Final Answer:

    Loop does not run because start > stop without step -> Option C
  4. Quick Check:

    range(5,1) empty range [OK]
Hint: Positive step needs start < stop to run [OK]
Common Mistakes:
  • Expecting loop to run backwards
  • Thinking syntax error occurs
  • Assuming infinite loop
5. You want to print all odd numbers from 1 to 15 using range(). Which code does this correctly?
hard
A. for i in range(1, 16, 2): print(i)
B. for i in range(0, 15, 2): print(i)
C. for i in range(1, 15): if i % 2 == 1: print(i)
D. for i in range(1, 16): print(i % 2)

Solution

  1. Step 1: Identify odd numbers range

    Odd numbers from 1 to 15 are 1,3,5,...,15.
  2. Step 2: Check each option

    for i in range(1, 16, 2): print(i) uses range(1,16,2) which generates 1,3,5,...,15 directly. for i in range(0, 15, 2): print(i) starts at 0 (even). for i in range(1, 15): if i % 2 == 1: print(i) misses 15 (range(1,15) goes to 14) and uses extra if check. for i in range(1, 16): print(i % 2) prints 1 or 0, not numbers.
  3. Final Answer:

    for i in range(1, 16, 2): print(i) -> Option A
  4. Quick Check:

    range(1,16,2) = odd numbers [OK]
Hint: Use step=2 starting at 1 for odd numbers [OK]
Common Mistakes:
  • Starting at 0 for odd numbers
  • Forgetting to include last number
  • Printing modulo instead of number