For-loop
Met een for-loop kun je code herhalen zonder alles te kopiëren.
Waarom loops?
Stel je wilt de getallen 0 tot en met 4 printen. Zonder loop zou je dit doen:
print(0)
print(1)
print(2)
print(3)
print(4)
Dat zijn 5 regels die bijna hetzelfde zijn. Met een for-loop doe je hetzelfde in 2 regels:
for i in range(5):
print(i)
Hoe werkt het?
for i in range(5) doet eigenlijk precies hetzelfde als steeds opnieuw een variabele een waarde geven:
# Dit...
for i in range(5):
print(i)
# ...is hetzelfde als dit:
i = 0
print(i)
i = 1
print(i)
i = 2
print(i)
i = 3
print(i)
i = 4
print(i)
De variabele i krijgt steeds de volgende waarde uit range(5). Bij elke waarde wordt de ingesprongen code uitgevoerd.
De naam i is niet speciaal. Je mag elke naam gebruiken:
for getal in range(5):
print(getal)
range()
range() maakt een reeks getallen:
# range(5) → 0, 1, 2, 3, 4
for i in range(5):
print(i)
# range(1, 6) → 1, 2, 3, 4, 5
for i in range(1, 6):
print(i)
# range(0, 10, 2) → 0, 2, 4, 6, 8 (stappen van 2)
for i in range(0, 10, 2):
print(i)
Iets doen met de variabele
Het leuke is dat je de variabele kunt gebruiken in je code:
for i in range(1, 6):
print(f"{i} keer 3 = {i * 3}")
Oefening 1
Print de getallen 1 tot en met 10.
for i in range(...): print(i)
💡 Tip
range(1, 11) geeft de getallen 1 tot en met 10. Let op: het eindgetal zit er niet bij!
✅ Oplossing
for i in range(1, 11):
print(i)
Oefening 2
Print de tafel van 7 (van 1 t/m 10):
7 x 1 = 7
7 x 2 = 14
...
7 x 10 = 70
for i in range(...): print(...)
💡 Tip
Gebruik range(1, 11) en een f-string: f"7 x {i} = {7 * i}".
✅ Oplossing
for i in range(1, 11):
print(f"7 x {i} = {7 * i}")
Oefening 3
Maak een driehoek van sterretjes. Bij hoogte = 5:
*
**
***
****
*****
hoogte = 5 for i in range(...): print(...)
💡 Tip
Je kunt een string herhalen met *: "*" * 3 geeft "***". Gebruik range(1, hoogte + 1).
✅ Oplossing
hoogte = 5
for i in range(1, hoogte + 1):
print("*" * i)
Oefening 4
Bereken de som van alle getallen van 1 tot en met 100.
som = 0
for i in range(...):
som += i
print(f"De som is: {som}")💡 Tip
som += i is hetzelfde als som = som + i. Begin met som = 0 en tel elk getal erbij op. Het antwoord is 5050.
✅ Oplossing
som = 0
for i in range(1, 101):
som += i
print(f"De som is: {som}")
Oefening 5
Print alle even getallen van 2 tot en met 20.
for i in range(...): print(i)
💡 Tip
Gebruik range(start, stop, stap) met een stap van 2: range(2, 21, 2).
✅ Oplossing
for i in range(2, 21, 2):
print(i)
Oefening 6
Tel hoeveel getallen van 1 tot en met 20 deelbaar zijn door 3.
teller = 0
for i in range(1, 21):
if ...:
teller += 1
print(f"Er zijn {teller} getallen deelbaar door 3")💡 Tip
Een getal is deelbaar door 3 als i % 3 == 0. Tel die gevallen op met teller += 1.
✅ Oplossing
teller = 0
for i in range(1, 21):
if i % 3 == 0:
teller += 1
print(f"Er zijn {teller} getallen deelbaar door 3")