Geneste For-Lussen
Veeg om het menu te tonen
Tot nu toe zijn lussen gebruikt om kleine actiesequenties te herhalen — niet alleen enkele opdrachten, maar korte reeksen van bewegingen en handelingen.
Soms moet dat patroon echter opnieuw worden herhaald. In zulke gevallen zijn geneste lussen nuttig.
Een geneste lus is eenvoudigweg een lus binnen een andere lus:
- De binnenste lus beschrijft een herhalend patroon;
- De buitenste lus bepaalt hoe vaak dat hele patroon wordt uitgevoerd.
Dit kan als volgt worden voorgesteld: "Herhaal deze sequentie… en doe dat meerdere keren".
Patronen herhalen op een raster
Stel je een kaart voor waarop de Ninja het volgende moet uitvoeren:
- Steeds hetzelfde patroon van bewegen en verzamelen;
- Van positie veranderen;
- Datzelfde patroon opnieuw herhalen.
Dit zonder geneste lussen schrijven zou betekenen dat er veel code moet worden gekopieerd. Met geneste lussen kan deze structuur duidelijk en compact worden beschreven.
ninja.py
Buitenste lus
for i in range(4):
Deze lus bepaalt hoe vaak het gehele patroon wordt herhaald. Elke iteratie staat voor één volledige uitvoering van dezelfde strategie.
Binnenste lus
for j in range(3):
ninja.go_right()
ninja.pick_sushi()
Deze lus definieert het herhaalde actiepatroon: bewegen en sushi verzamelen.
Verplaatsen naar het volgende gebied
ninja.go_left()
ninja.go_left()
ninja.go_down()
Na het voltooien van de binnenste lus verplaatst de Ninja zich en bereidt zich voor om het opnieuw te herhalen.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.