Range met start en stappen
Je kunt for i in range(n) gebruiken om n keer te herhalen. In deze les leer je range met een begin-getal en een stapgrootte.
range(start, stop)
De functie range() kan ook een begin- én een eindgetal krijgen:
for i in range(1, 6):
print(i)
Uitvoer:
1
2
3
4
5
range(1, 6)begint bij 1 en stopt vóór 6 — net als bijrange(stop)is het eind exclusief.
range(start, stop, step)
Met een derde argument bepaal je de stapgrootte:
for i in range(0, 11, 2):
print(i)
Uitvoer:
0
2
4
6
8
10
Stappen van 2 — handig voor even getallen, tellen-in-vijven, of aftellen (met een negatieve stap zoals range(10, 0, -1)).
Probeer zelf
Print de even getallen van 0 t/m 10.
for i in range(...): print(...)
✅ Oplossing
for i in range(0, 11, 2):
print(i)
Uitvoer: 0 2 4 6 8 10 (elk op een eigen regel).
Predict
Wat print dit programma?
for i in range(5, 10):
print(i)
Bekijk het antwoord
5
6
7
8
9
range(5, 10) begint bij 5 en stopt vóór 10 — vijf getallen in totaal.
Run
Voer de code uit en controleer.
Investigate
Wat doet een negatieve stapgrootte? Probeer dit:
for i in range(10, 0, -1):
print(i)
Bekijk het antwoord
10
9
8
7
6
5
4
3
2
1
Met een negatieve stap (-1) telt Python achteruit van 10 naar 1 (de stop-waarde 0 is exclusief, dus 0 zelf wordt niet meer geprint). Handig voor aftellen.
Er gaat iets mis
Een veelvoorkomende valkuil:
for i in range(1, 5):
print(i)
Verwacht je: 1, 2, 3, 4, 5?
Output: 1, 2, 3, 4
Waarom? De stop-waarde is exclusief. range(1, 5) betekent: "begin bij 1, stop vóór 5".
Oplossing: Wil je tot en met 5 tellen? Gebruik range(1, 6).
Modify
Pas de code aan zodat hij de oneven getallen van 1 t/m 9 print.
for i in range(0, 10, 2): print(i)
💡 Tip
Begin bij 1 in plaats van 0: range(1, 10, 2).
✅ Oplossing
for i in range(1, 10, 2):
print(i)
Make: Tafel van 7
Print de tafel van 7 (van 1 tot en met 10) met een for-loop en een f-string.
Verwachte uitvoer:
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 10 = 70
for i in range(...): print(f"...")
💡 Tip
range(1, 11) geeft 1 t/m 10. Gebruik een f-string: f"7 x {i} = {7 * i}".
✅ Oplossing
for i in range(1, 11):
print(f"7 x {i} = {7 * i}")
Make Bonus: Driehoek van sterretjes
Bouw een programma dat met de variabele hoogte een driehoek van sterretjes tekent. Voor elke regel komt er één sterretje bij.
Verwachte uitvoer (bij hoogte = 5):
*
**
***
****
*****
hoogte = 5 for i in range(1, hoogte + 1): print(...)
💡 Giga-tip
Wist je dat je strings kunt vermenigvuldigen? "*" * 3 geeft "***". Gebruik dus "*" * i in je print.
✅ Oplossing
hoogte = 5
for i in range(1, hoogte + 1):
print("*" * i)
Met for herhaal je een vast aantal keer. Wat als je niet weet hoe vaak — alleen dat je moet doorgaan totdat iets klaar is? Daar is de while-loop voor.