In de demo heb je voor het eerst een for-lus geprogrammeerd. Een for-lus is een voorbeeld van begrensde herhaling: je weet op voorhand hoeveel keer de lus uitgevoerd wordt. Dit kan op een aantal manieren:

Hieronder vind je de pseudocode van de for-lus:

...                      
for teller  minimum tot maximum stapgrootte = s:
    python statement
    python statement
    ...

python statement
python statement

Hoe werkt het?

  1. Na het sleutelwoord for krijgt de lus-controle variabele teller de waarde van de variabele minimum.
  2. Er wordt getest of de waarde van teller kleiner is dan de waarde van maximum.
  3. Indien dit het geval is, worden de statements in de lus uitgevoerd.
  4. De waarde van teller wordt vergroot met de waarde van stapgrootte. Je keert nu terug naar stap (2).
  5. Als de waarde van teller minstens de waarde van maximum is, dan gaat het programma verder onder de for-lus.

Merk dus op dat je hier nagenoeg hetzelfde stappenplan hebt als bij de while-lus. Het grote verschil is dat bij het begin van de for-lus het nu duidelijk is, hoeveel keer de lus doorlopen wordt. Opnieuw moet het duidelijk zijn dat het uitvoeren van de code in de lus afhankelijk is van een voorwaarde.

For-lus met maximum

In onderstaand voorbeeld werd enkel het maximum opgegeven.

for teller in range(7):
    print(teller)

De grootste waarde dat het programma toont is 6. Dat is 1 minder dan het opgegeven maximum.

For-lus met mimimum en maximum

In onderstaand voorbeeld werden het minimum en het maximum opgegeven.

for teller in range(3, 7):
    print(teller)

Het programma toont de waarden 3 tot en met 6. Let op, als het mimimum minsten even groot is als het maximum zal de code in de lus geen enkele keer uitgevoerd worden.

For-lus met mimimum, maximum en stapgrootte

In onderstaand voorbeeld werden het minimum en het maximum opgegeven.

for teller in range(3, 7, 2):
    print(teller)

Het programma toont de waarden 3 en 5.

Aftellen

In onderstaand voorbeeld werden het minimum en het maximum opgegeven. Wanneer het maximum kleiner is dan het minimum, gebruik je best een negatieve stapgrootte.

for teller in range(7, 3, -2):
    print(teller)

Het programma toont de waarden 7 en 5. De kleinste waarde dat het programma toont is 5. Dat is 1 meer dan het opgegeven maximum. Wanneer je met een lus wil aftellen, test je best grondig de code.

Abstractie

In vele gevallen zal het minimum, het maximum en de stapgrootte op voorhand opgevraagd worden aan de gebruiker of berekend worden. Ook het gebruik van de variabele teller zal je vereenvoudigd zien. Een veel voorkomende vorm is dan:

for i in range(m, n, s):
    ...