Python-basis · Les 4
Herhalen — for & while
Computers zijn heel goed in saai werk: iets duizend keer doen zonder te klagen. In deze les laat je Python herhalen — zonder duizend regels code te typen.
§1Waarom je een lus wilt
Stel: je wilt 100 keer "Hoi!" printen. Zonder lus zou je 100 regels moeten typen:
Met een lus (Engels: loop) schrijf je de regel één keer op en zeg je erbij hoe vaak hij moet draaien. Korter, en veel makkelijker aan te passen.
§2for met range(): een vast aantal keer
Weet je precies hoe vaak iets moet gebeuren, dan gebruik je for samen met range(). De teller i krijgt om de beurt elke waarde uit de reeks:
Let op iets wat verwarrend is in het begin: range(5) telt vanaf 0 en stopt vóór de 5. Je krijgt dus 0, 1, 2, 3, 4 — dat zijn vijf getallen, maar de 5 zelf zit er níét bij.
🔮 Voorspel de uitvoer
Nu jij — ander getal, zelfde regels. Wat is het laatste getal dat dit programma print?
Niet 10! range(10) begint bij 0 en stopt vóór de 10, dus het laatste getal is 9. Het aantal rondjes klopt wél: het zijn er precies tien (0 t/m 9).
§3for over tekst: letter voor letter
Een for-lus kan ook door een stuk tekst lopen. Dan pakt hij elke letter op zijn beurt:
Handig om te onthouden: een lus loopt niet alleen over getallen, maar over allerlei reeksen — en tekst is voor Python gewoon een reeks losse letters.
§4while: zolang iets waar is
Soms weet je niet vooraf hoe vaak iets moet, alleen wannéér het moet stoppen. Dan gebruik je while: die blijft draaien zolang een voorwaarde True is (denk terug aan les 3). Je hebt bijna altijd een tellervariabele nodig die je elke ronde ophoogt:
Die laatste regel, teller = teller + 1, is levensbelangrijk. Hij zorgt dat de teller elke ronde groeit, zodat de voorwaarde ooit False wordt en de lus stopt.
⚠️ De oneindige lus
Vergeet je teller = teller + 1, dan blijft teller voor altijd 1. De voorwaarde teller <= 3 is dan altijd waar en je lus stopt nooit meer. Je programma loopt vast. Kom je vast te zitten? Meestal stop je een programma met Ctrl + C.
§5Volg een lus regel voor regel
Een lus springt niet zomaar “magisch” rond. Python kiest of controleert een waarde, voert het ingesprongen blok uit en gaat daarna terug naar de bovenkant. In deze animatie zie je tegelijk welke regel draait, wat er in de variabelen zit en wat er wordt geprint.
Python-code
Geheugen tijdens deze stap
Het voorbeeld staat klaar.
—
forpakt automatisch de volgende waarde uit een reeks en stopt als de reeks leeg is.
whilecontroleert vóór iedere ronde opnieuw de voorwaarde en stopt zodra die False is.
§6Welke kies je? Een simpele vuistregel
De vraag die je jezelf stelt: weet ik vooraf hoe vaak?
for
Gebruik je als je het aantal vooraf weet: "doe dit 10 keer", "loop door deze tekst". Vaak met range().
while
Gebruik je als je het aantal niet weet, maar wél de stopvoorwaarde: "blijf vragen tot het antwoord klopt".
🧠 Test jezelf
Vier korte vragen. Je ziet meteen of je antwoord klopt, met uitleg.