Je hebt zojuist geleerd hoe je een for-lus moet gebruiken om code te herhalen. Je hebt eerder ook al gezien hoe je met if-elif-else-constructies beslissingen kunt nemen in je code. In deze oefening gaan we deze twee concepten combineren. Hieronder nog even twee voorbeelden van hoe een for-lus en een if-elif-else-constructie eruitzien.


Voorbeeld van een for-lus

Je kan echter nog veel meer berekeningen doen met de variabele in de lus. We kunnen er bijvoorbeeld voor zorgen dat we niet vanaf 0 tellen, maar vanaf 1, zoals in dit voorbeeld:

for i in range(5):
    echte_herhalingsnummer = i + 1
    print(f"Dit is herhaling nummer {echte_herhalingsnummer}")

Wat gebeurt hier?

  • genereert de getallen 0, 1, 2, 3, en 4.
  • In het begin krijgt i de waarde 0.
  • We berekenen echte_herhalingsnummer als i + 1, wat dus 0 + 1 = 1 is.
  • Dan wordt uitgevoerd, waardoor Dit is herhaling nummer 1 op het scherm verschijnt.
  • Daarna krijgt i de volgende waarde, namelijk 1.
  • We berekenen echte_herhalingsnummer als i + 1, wat dus 1 + 1 = 2 is.
  • Dan wordt uitgevoerd, waardoor Dit is herhaling nummer 2 op het scherm verschijnt.
  • ...
  • Als laatste krijgt i de waarde 4.
  • We berekenen echte_herhalingsnummer als i + 1, wat dus 4 + 1 = 5 is.
  • Dan wordt uitgevoerd, waardoor Dit is herhaling nummer 5 op het scherm verschijnt.
  • Nu zijn er geen getallen meer in de reeks die door is gegenereerd, dus stopt de lus.

Je ziet dus op het scherm:

Dit is herhaling nummer 1
Dit is herhaling nummer 2
Dit is herhaling nummer 3
Dit is herhaling nummer 4
Dit is herhaling nummer 5
Voorbeeld van een if-elif-else-constructie
procent_op_toets_behaald = 30

if procent_op_toets_behaald > 50:
    bericht = "Gefeliciteerd, je bent geslaagd voor je toets!"
elif procent_op_toets_behaald == 50:
    bericht = "Oei, je hebt het echt op het nippertje gehaald, gefeliciteerd!"
else:
    bericht = "Sorry, volgende keer beter."

Nadat dit programma wordt uitgevoerd zal het bericht "Sorry, volgende keer beter." zijn, omdat de procent_op_toets_behaald niet groter is dan 50 (dus het bericht wordt niet "Gefeliciteerd, je bent geslaagd voor je toets!") en ook niet gelijk aan 50 (dus het bericht wordt niet "Oei, je hebt het echt op het nippertje gehaald, gefeliciteerd!").


We kunnen deze twee concepten combineren om een programma te maken dat voor elk getal in een reeks bepaalt of het even of oneven is. Hieronder zie je hoe dat eruitziet:

for i in range(10):
    if i % 2 == 0:
        print(f"{i} is een even getal.")
    else:
        print(f"{i} is een oneven getal.")

Wat gebeurt hier?

Je ziet dus op het scherm:

0 is een even getal.
1 is een oneven getal.
2 is een even getal.
3 is een oneven getal.
4 is een even getal.
5 is een oneven getal.
6 is een even getal.
7 is een oneven getal.
8 is een even getal.
9 is een oneven getal.



Opdracht

Schrijf met een for-lus en een if-(elif)-else-constructie een programma die voor de getallen van 0 tot en met 300 op het scherm afdrukt of die even of oneven zijn. Het programma moet dus de volgende output geven:

0 is een even getal.
1 is een oneven getal.
2 is een even getal.
3 is een oneven getal.
4 is een even getal.
5 is een oneven getal.
...
298 is een even getal.
299 is een oneven getal.
300 is een even getal.