Bird
Raised Fist0
Pythonprogramming~3 mins

Why Iteration using range() in Python? - Purpose & Use Cases

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
The Big Idea

What if you could count or repeat tasks perfectly without writing every step yourself?

The Scenario

Imagine you want to print numbers from 1 to 10 one by one. Doing this by writing each number manually feels like writing a long list by hand.

The Problem

Writing each step manually is slow and boring. It's easy to make mistakes, like skipping a number or repeating one. Changing the range means rewriting everything again.

The Solution

The range() function lets you create a sequence of numbers quickly. You can loop over this sequence to repeat actions without writing each step. It saves time and avoids errors.

Before vs After
Before
print(1)
print(2)
print(3)
print(4)
print(5)
After
for i in range(1, 6):
    print(i)
What It Enables

With range(), you can easily repeat tasks many times and handle large sequences without extra effort.

Real Life Example

Counting items in a list, like printing all student names numbered from 1 to the total count, becomes simple and fast.

Key Takeaways

Manual repetition is slow and error-prone.

range() creates number sequences automatically.

Looping with range() makes repeating tasks easy and flexible.

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