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.
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?
0, 1, 2, 3, en 4.i de waarde 0.echte_herhalingsnummer als i + 1, wat dus 0 + 1 = 1 is.Dit is herhaling nummer 1 op het scherm verschijnt.i de volgende waarde, namelijk 1.echte_herhalingsnummer als i + 1, wat dus 1 + 1 = 2 is.Dit is herhaling nummer 2 op het scherm verschijnt.i de waarde 4.echte_herhalingsnummer als i + 1, wat dus 4 + 1 = 5 is.Dit is herhaling nummer 5 op het scherm verschijnt.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
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?
0, 1, 2, 3, 4, 5, 6, 7, 8, en 9.i de waarde 0.i % 2 == 0 (oftewel: is 0 deelbaar door 2?). Dit is waar, dus we voeren de code in het if-gedeelte uit, waardoor 0 is een even getal. op het scherm verschijnt.i de volgende waarde, namelijk 1.i % 2 == 0 (oftewel: is 1 deelbaar door 2?). Dit is niet waar, dus we voeren de code in het else-gedeelte uit, waardoor 1 is een oneven getal. op het scherm verschijnt.i de volgende waarde, namelijk 2.i % 2 == 0 (oftewel: is 2 deelbaar door 2?). Dit is waar, dus we voeren de code in het if-gedeelte uit, waardoor 2 is een even getal. op het scherm verschijnt.i de waarde 9.i % 2 == 0 (oftewel: is 9 deelbaar door 2?). Dit is niet waar, dus we voeren de code in het else-gedeelte uit, waardoor 9 is een oneven getal. op het scherm verschijnt.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.
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.