Ga naar hoofdinhoud

Range met start en stappen

Wat je al kent

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 bij range(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)
Volgende les

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.