Ga naar hoofdinhoud

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.

tip

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.
  • i is 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.
Let op

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...
  1. 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.

  1. Wat is i eigenlijk? Probeer de naam i in je code eens overal te veranderen naar teller of getal. 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}")
Volgende les

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.