Begin bij nul
Bouw op regel 1 de reeks van nul tot vlak vóór count, gescheiden door spaties.
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.
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.
| Code | Waarden 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.
Dit voorbeeld bouwt eerst één tekstregel met even stoelnummers. Daarna telt het op afzonderlijke regels terug.
line = ""
for seat in range(2, 8, 2):
line += f"{seat} "
print(line.strip())
for number in range(3, 0, -1):
print(number)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.
Je wilt de nummers één tot en met drie tonen. Met de volgende range ontbreekt het laatste nummer.
for number in range(1, 3):
print(number)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.
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.
Je programma krijgt deze invoer automatisch. Elke variant begint opnieuw. Alle varianten moeten kloppen.
0
1
4
5
Bouw op regel 1 de reeks van nul tot vlak vóór count, gescheiden door spaties.
Bouw op regel 2 de reeks van één tot en met count.
Bouw op regel 3 de even getallen vanaf nul tot onder count.
Bouw op regel 4 de reeks van count naar één, zonder nul.
Hierna gebruik je een while-lus als een voorwaarde bepaalt hoe lang het werk doorgaat.
Voer je code uit en ontdek
wat je hebt gemaakt.
Je hoeft het niet in één keer goed te doen. Na het uitvoeren zie je hier welke stappen al kloppen.