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
Step 1: Understand the range function
range(5) starts at 0 by default and stops before 5.
Step 2: Identify the numbers generated
The numbers generated are 0, 1, 2, 3, 4.
Final Answer:
Generates numbers from 0 to 4 -> Option A
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
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.
Step 2: Identify the correct loop count
Only for i in range(3): loops exactly 3 times: 0,1,2.
Final Answer:
for i in range(3): -> Option B
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
Step 1: Understand the range parameters
range(2, 7, 2) starts at 2, stops before 7, stepping by 2.
Step 2: List the numbers generated
Numbers are 2, 4, 6.
Final Answer:
2 4 6 -> Option D
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
Step 1: Analyze the range parameters
range(5, 1) means start at 5, stop before 1, with default step 1.
Step 2: Understand loop behavior
Since start is greater than stop and step is positive, the loop runs zero times.
Final Answer:
Loop does not run because start > stop without step -> Option C
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
Step 1: Identify odd numbers range
Odd numbers from 1 to 15 are 1,3,5,...,15.
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.
Final Answer:
for i in range(1, 16, 2): print(i) -> Option A
Quick Check:
range(1,16,2) = odd numbers [OK]
Hint: Use step=2 starting at 1 for odd numbers [OK]