RivoCode

Python Basics · Control Flow · Lesson 9 of 36

for Loops and range()

Concept

for Loops and range()

for loops in Python iterate directly over sequences. range() generates a sequence of numbers to loop over.

range(5) generates 0 through 4, not 0 through 5 — it always stops one short of its argument, which is the most common range() surprise for beginners.

By the end of this lesson
  • Explain the core idea behind for Loops and range().
  • Predict output before running a change.
  • Test one realistic and one unusual input.
  • Use the result to make the next decision.
How to study this page
  1. 1. Read one concept.
  2. 2. Change the example.
  3. 3. Run, compare, and explain.
  4. 4. Complete the challenge below.
Syntax
for variable in range(start, stop, step):
    # code
ExampleRunnable
for i in range(5):
    print(i)
Try it Yourself »
range with a start and step
for i in range(2, 10, 2):
    print(i)
Note: range(2, 10, 2) starts at 2, stops before 10, and steps by 2 each time.
Self-check before continuing

Without looking at the example, describe what changes when you modify one input in for Loops and range(). Then reopen the editor and prove your explanation with a small test.

You are ready to continue when you can predict, test, and explain the result.

Your turn

Use a for loop with range() to print the numbers 1 through 10.

Loading editor…

Console

Output will appear here...