Python lesson 13: Repeating with for and range()
US version. US grades and US spelling. · UK version of this lesson
A for loop repeats its indented lines once for each value. for i in range(5): repeats 5 times, with i = 0, 1, 2, 3, 4. A complete 40-minute Python lesson for complete beginners (Grades 6–7), from Unit 4: Loops. It runs right here in your browser – nothing to install.
- Time
- 40 minutes + 20 min homework
- Grade
- Grades 6–7 (ages 11–12)
- You need
- A computer or tablet, paper and a pencil
- Graded
- Instantly, with explanations
For parents: how to use this lesson
You don't need to know Python yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser and grade it straight away.
- Read what your child will learn together.
- Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
- Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
- Finish with the exit questions and the talk question: “How did you check where your loop starts and stops?”
- Later that day or the next day: the homework (20 minutes), then a practice test.
Watch out for
- range(5) gives 1 to 5. Print each i: 0, 1, 2, 3, 4.
- A line after the loop repeats too. Only indented lines are in the loop.
Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.
What your child will learn
Learning goal: repeat code with a for loop.
Success looks like
- I can repeat code with a for loop.
- I can use range() with start, stop and step.
- I can trace a loop with a table.
Key words
loop · for · range · iteration
What to have ready
- A device with a web browser (the code runs in the browser – nothing to install)
- Paper for tracing
- A keyboard helps for typing code (a tablet or phone works too)
The big ideas (for the adult)
A for loop repeats its indented lines once for each value. for i in range(5): repeats 5 times, with i = 0, 1, 2, 3, 4.
range(start, stop) stops BEFORE stop. range(1, 11) gives 1 to 10. A third number is the step: range(10, 0, -2).
A trace table shows the loop variable and any other variables on each turn.
Worked example
for i in range(5):
print(i)It prints:
0 1 2 3 4
The lesson, step by step
| Part | Time | How it is checked |
|---|---|---|
| Starter | 5 min | Graded by Classfern |
| Teaching input | 8 min | Read, watch and talk |
| See it, then predict | 8 min | Graded by Classfern |
| Put it in order, write it, fix it | 14 min | Graded by Classfern |
| Closure and exit ticket | 5 min | Graded by Classfern + self-check |
The lesson
It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.
Homework
20 minutes: 7 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.
Practice tests
Curriculum
CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-12 – Design and iteratively develop programs with control structures incl. nested loops and compound conditionals.
The standard codes are CSTA's; the descriptions are our own words.
Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. Python is a registered trademark of the Python Software Foundation; Classfern is not affiliated with or endorsed by it.