pythonzomerschool

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:

print("Hoi!") print("Hoi!") # … en zo nog 98 keer 😴

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:

for i in range(5): print(i)
0 1 2 3 4

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?

for i in range(10): print(i)
9

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:

for letter in "hoi": print(letter)
h o i

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:

teller = 1 while teller <= 3: print(teller) teller = teller + 1
1 2 3

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.

Stap 1 / 1

Python-code

    Geheugen tijdens deze stap

    Wat Python nu doet

    Het voorbeeld staat klaar.

    uitvoer
    for

    pakt automatisch de volgende waarde uit een reeks en stopt als de reeks leeg is.

    while

    controleert 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.