Skip to main content

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.

tip

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")