Bird
Raised Fist0
Pythonprogramming~15 mins

Iteration using range() in Python - Mini Project: Build & Apply

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
Iteration using range()
📖 Scenario: You are helping a small bakery count the number of cupcakes they have baked each day for a week. They want to print the day numbers from 1 to 7 to keep track.
🎯 Goal: Build a simple program that uses range() to iterate through the days of the week (1 to 7) and print each day number.
📋 What You'll Learn
Create a variable to hold the total number of days (7)
Use range() to generate numbers from 1 to 7
Use a for loop with variable day to iterate over the range
Print each day number inside the loop
💡 Why This Matters
🌍 Real World
Counting days or items is common in many jobs, like tracking sales, attendance, or production.
💼 Career
Understanding how to use <code>range()</code> and loops helps automate repetitive tasks and process lists of data efficiently.
Progress0 / 4 steps
1
Set the total number of days
Create a variable called total_days and set it to 7.
Python
Hint

Use the equals sign = to assign the number 7 to total_days.

2
Create a range of days
Create a variable called days and set it to range(1, total_days + 1) to generate numbers from 1 to 7.
Python
Hint

Remember that range() stops before the last number, so add 1 to total_days.

3
Use a for loop to iterate over days
Use a for loop with variable day to iterate over days.
Python
Hint

Write for day in days: and indent the next lines inside the loop.

4
Print each day number
Inside the for loop, write print(day) to display each day number.
Python
Hint

Use print(day) inside the loop to show each day number on its own line.

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