← Python/Kiezen en herhalen
Les 4 van 8
MODULE 02 · 04◷ 22 min

Loop door getallen met range

Na deze les kun je
  • Een for-lus met een exclusieve bovengrens schrijven
  • Een beginwaarde en stapgrootte gebruiken
  • Een aftellende en lege reeks herkennen

Je wilt stoelen nummeren of pagina's één voor één verwerken. Dezelfde opdracht voor elk nummer opnieuw typen wordt onhandig zodra de hoeveelheid verandert. Een lus beschrijft de herhaling, zodat Python de afzonderlijke rondes voor je uitvoert.

Eén blok, meerdere rondes

Een lus voert een blok herhaald uit. Met for number in range(3): geef je number achtereenvolgens de waarden nul, één en twee. Het ingesprongen blok wordt voor iedere waarde één keer uitgevoerd; zo'n ronde heet een iteratie.

De functie range levert een reeks gehele getallen om te doorlopen. Je kunt een eindgrens opgeven, of ook een begin en stapgrootte. De eindgrens is exclusief: die waarde hoort zelf niet bij de reeks.

CodeWaarden in volgorde
range(3)0, 1, 2
range(1, 4)1, 2, 3
range(2, 8, 2)2, 4, 6
range(3, 0, -1)3, 2, 1
range(0)Geen waarden

Zonder beginwaarde start range bij nul; zonder stapgrootte is de stap één. Voor terugtellen gebruik je een negatieve stap en een eindgrens die lager ligt dan het begin. De regel na het ingesprongen blok wordt pas bereikt als de hele lus klaar is.

Van losse waarden naar een overzicht

Dit voorbeeld bouwt eerst één tekstregel met even stoelnummers. Daarna telt het op afzonderlijke regels terug.

Stoelnummers en een aftelling
line = ""
for seat in range(2, 8, 2):
    line += f"{seat} "
print(line.strip())
for number in range(3, 0, -1):
    print(number)
Verwachte uitvoer
2 4 6
3
2
1

De tekst begint leeg met line = "". Met += voeg je telkens iets aan de bestaande waarde toe: voor deze string betekent line += text hetzelfde als line = line + text. De f-string voegt het huidige nummer en een spatie toe.

Die extra spatie maakt het samenvoegen makkelijk, maar blijft ook achter het laatste nummer staan. De bekende methode strip() verwijdert de randspatie voordat je de volledige regel afdrukt. De tweede lus heeft geen verzameltekst: daar staat de print binnen de lus en krijg je dus één regel per ronde.

Begin voor een volgend zelfstandig overzicht weer met een lege string. Anders bouw je verder op het resultaat van de vorige lus. Het maakt dus uit welke toekenningen vóór een lus staan en welke opdrachten tijdens iedere ronde terugkomen.

De eindgrens vergeten

Je wilt de nummers één tot en met drie tonen. Met de volgende range ontbreekt het laatste nummer.

Waarom ontbreekt nummer drie?
for number in range(1, 3):
    print(number)
Verwachte uitvoer
1
2

De eindgrens drie wordt niet bereikt als uitvoerwaarde: de reeks stopt ervoor. Gebruik range(1, 4) als drie wel moet meedoen. Voor een veranderlijke bovengrens die je wilt meenemen, neem je dus die bovengrens plus één als stopwaarde.

Bij een lege range wordt het blok helemaal niet uitgevoerd. Een vooraf gemaakte lege tekst blijft dan leeg; een print buiten de lus kan nog steeds een lege regel tonen. Dat is een geldig resultaat, geen ontbrekende uitvoering.

Nu jij

Bouw vier tekstregels op basis van de ingelezen hoeveelheid. Let bij iedere reeks op het begin, de exclusieve eindgrens en de stapgrootte. De tests bevatten ook nul, zodat je ziet wat er gebeurt wanneer geen enkele ronde nodig is.

Testinvoer · 4 varianten

Je programma krijgt deze invoer automatisch. Elke variant begint opnieuw. Alle varianten moeten kloppen.

Geen getallen
0
Eén getal
1
Vier rondes
4
Oneven bovengrens
5
AAN DE SLAG 0/4
1

Begin bij nul

Bouw op regel 1 de reeks van nul tot vlak vóór count, gescheiden door spaties.

2

Neem de eindwaarde mee

Bouw op regel 2 de reeks van één tot en met count.

3

Sla steeds één getal over

Bouw op regel 3 de even getallen vanaf nul tot onder count.

4

Tel terug

Bouw op regel 4 de reeks van count naar één, zonder nul.

Dit neem je mee

  • Een for-lus voert zijn blok uit voor iedere waarde uit range.
  • De eindgrens hoort niet bij de reeks; een negatieve stap telt terug.
  • Verzameltekst begint vóór de lus en groeit binnen het blok.

Hierna gebruik je een while-lus als een voorwaarde bepaalt hoe lang het werk doorgaat.

main.py
UitvoerPython
›
›_

Hier komt je resultaat.

Voer je code uit en ontdek
wat je hebt gemaakt.

0/4 stappen
EVEN MEEKIJKEN

Bekijk hoe het kan.

Je mag de oplossing bekijken. Deze poging telt dan niet mee als afgeronde les. Met Reset kun je daarna opnieuw zelf oefenen.