For-loop
Stel je wilt de getallen 0 tot en met 4 printen. Zonder loop zou je dit regel voor regel moeten uittypen. Met een for-loop geef je de computer de opdracht om een stuk code meerdere keren te herhalen.
Wil je het idee van herhaling eerst visueel oefenen? Probeer Lightbot — een leuke puzzelgame die je helpt het concept van een loop beter te snappen.
Hoe werkt een for-loop?
for i in range(5):
print(i)
Uitvoer:
0
1
2
3
4
range(5)betekent: "geef vijf getallen, beginnend bij 0". Dus:0, 1, 2, 3, 4.iis de loop-variabele — Python vult hem elke ronde met het volgende getal.- De code binnen de loop springt 4 spaties in, net als bij
if.
range(5) stopt bij 4, niet bij 5. De stop-waarde is exclusief.
Probeer zelf
Schrijf een for-loop die 5 keer "Hoera!" print.
for i in range(...): print(...)
✅ Oplossing
for i in range(5):
print("Hoera!")
Let op: je gebruikt i hier niet in de print — dat hoeft ook niet. De loop herhaalt gewoon 5 keer.
Predict
Wat denk je dat er op het scherm verschijnt?
print("Start")
for i in range(3):
print(i)
print("Klaar")
Bekijk het antwoord
Start
0
1
2
Klaar
range(3) geeft 0, 1, 2. "Start" en "Klaar" staan buiten de loop, dus ze worden elk één keer geprint.
Run
Voer de code uit. Klopt het?
Investigate
Hoe leest Python deze loop eigenlijk? De code for i in range(5): rolt zich onder water eigenlijk als volgt uit:
i = 0
print(i)
i = 1
print(i)
i = 2
print(i)
# etc...
- Waarom is het inspringen (de vier spaties) vóór
print(i)cruciaal?
Bekijk het antwoord
Zonder inspringen weet Python niet welke regels bij de loop horen. Je krijgt een IndentationError: expected an indented block after 'for' statement. De inspringing is geen opmaak — het is onderdeel van de syntaxis.
- Wat is
ieigenlijk? Probeer de naamiin je code eens overal te veranderen naartellerofgetal. Werkt het dan nog steeds?
Bekijk het antwoord
Ja, het werkt nog steeds. i is gewoon een variabelenaam die jij kiest. Python vult hem elke ronde met het volgende getal. i is een traditie uit de wiskunde (voor index), maar teller, getal of zelfs banaan werkt net zo goed.
Er gaat iets mis
Een veelgemaakte fout:
for i in range(5):
print(i)
Verwacht je dat de loop ook 5 print? Nee — range(5) geeft 0, 1, 2, 3, 4. De stop-waarde is exclusief. Wil je tot en met 5 tellen? Dan moet je range(6) gebruiken (of range(1, 6), dat leer je in de volgende les).
Deze fout heet een off-by-one en is een echte klassieker.
Modify
Pas de code aan zodat hij 10 keer "Tik" print.
for i in range(5):
print("Tik")💡 Tip
Verander range(5) in range(10).
✅ Oplossing
for i in range(10):
print("Tik")
Make: Aftellen
Print de getallen 0 t/m 4 met een for-loop, en print daarna "Klaar!".
Verwachte uitvoer:
0
1
2
3
4
Klaar!
for i in range(...):
print(...)
print("Klaar!")💡 Tip
range(5) geeft 0, 1, 2, 3, 4. Print i in de loop.
✅ Oplossing
for i in range(5):
print(i)
print("Klaar!")
Make Bonus: Tafel van 2
Print de eerste tien resultaten van de tafel van 2, met een f-string.
Verwachte uitvoer:
2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
...
2 x 9 = 18
for i in range(...): print(f"...")
💡 Tip
range(10) geeft 0 t/m 9. Gebruik een f-string: f"2 x {i} = {2 * i}".
✅ Oplossing
for i in range(10):
print(f"2 x {i} = {2 * i}")
Wat als je niet bij 0 wilt beginnen, of stappen wilt overslaan (alleen even getallen bijvoorbeeld)? In de volgende les leer je range met een begin- en eindgetal.