Je kan met lussen een stapje verder gaan om computers optimaal te gebruiken om herhalende taken uit te voeren, bijvoorbeeld door lussen in elkaar te gebruiken. Dat noemen we geneste lussen.
👀 Voorbeeld - Coördinaten
Het volgende stukje code toont hoe je alle mogelijke coördinaten tussen (0,0) en (5,5) kan printen, namelijk (0,1), (0,2), …, (0,5), (1,5), …, (5,5).
for rij in range(6): for kolom in range(6): print( '(', rij, ',', kolom, ')')
Er worden dus 36 (= 6 × 6) coördinaten geprint, in een welbepaalde volgorde: In de buitenste lus krijgt
rij
waarde 0. We stappen dan over de binnenste lus:
rij=0, kolom=0
rij=0, kolom=1
rij=0, kolom=2
rij=0, kolom=3
rij=0, kolom=4
rij=0, kolom=5
Daarna wordt (in de buitenste lus)
rij
gelijk aan 1 en herhalen we de binnenste lus:
rij=1, kolom=0
rij=1, kolom=1
rij=1, kolom=2
rij=1, kolom=3
rij=1, kolom=4
rij=1, kolom=5
Zo gaat het verder voor
rij=2
,rij=3
,rij=4
enrij=5
.
🧠 Denkoefening - Tel de coördinaten
Kijk naar het volgende stukje code.
for rij in range(1, 8): for kolom in range(2, 5): print( '(', rij, ',', kolom, ')')
Hoeveel coördinaten worden er geprint? Probeer het eens uit in de sandbox.
🧠 Denkoefening - Teller
Kijk naar het volgende stukje code.
teller = 0 for i in range(1,4): for j in range(i+1,9): teller += 1 print(teller)
Wat is de waarde van
teller
aan het einde van het programma?
👀 Voorbeeld - Driehoek
De volgende code print een driehoek van sterretjes
for rij in range(1,6): for kolom in range(1,rij+1): print('*', end=' ') print('')
* * * * * * * * * * * * * * *
💻 Programmeeroefening - Sterretjes driehoek
Pas in de editor hieronder het bovenstaande voorbeeld aan om de driehoek ondersteboven te printen:
* * * * * * * * * * * * * * *