Je hebt zojuist geleerd hoe je een for-lus in een functie kan gebruiken met een gegeven lijst, en hoe je dit kan combineren met een if-constructie om enkel voor sommige elementen iets te doen. In deze oefening zal je dat toepassen. Je kan de uitleg hieronder nog eens bekijken als je dat wil.

Herhaling uitleg van vorige oefening

We kunnen een functie maken die van de gegeven lijst alleen de getallen afdrukt die groter zijn dan 5:

def PrintGroterDan5(getallen):
    for getal in getallen:
        if getal > 5:
            print(f"{getal} is groter dan 5.")

Merk op dat er géén elif of else is in deze if-constructie. Dit betekent dat als het getal niet groter is dan 5, er niets gebeurt en de lus gewoon doorgaat naar het volgende getal in de lijst.

Als iemand deze functie aanroept met een lijst zoals , dan zal het volgende op het scherm verschijnen:

7 is groter dan 5.
9 is groter dan 5.

Waarom?

Bekijk elke stap in detail
  • De functie wordt aangeroepen met de lijst [3, 7, 2, 9, 4].
  • De for-lus begint en getal neemt de waarde van het eerste getal uit de lijst, namelijk 3.
  • De if-constructie controleert of 3 > 5. Dit is niet waar, dus er gebeurt niets en de lus gaat verder naar het volgende getal.
  • Het volgende getal is 7. De if-constructie controleert of 7 > 5. Dit is waar, dus de code binnen de if-constructie wordt uitgevoerd en op het scherm verschijnt: 7 is groter dan 5..
  • De lus gaat verder naar het volgende getal, namelijk 2. De if-constructie controleert of 2 > 5. Dit is niet waar, dus er gebeurt niets en de lus gaat verder.
  • Het volgende getal is 9. De if-constructie controleert of 9 > 5. Dit is waar, dus de code binnen de if-constructie wordt uitgevoerd en op het scherm verschijnt: 9 is groter dan 5..
  • Het laatste getal is 4. De if-constructie controleert of 4 > 5. Dit is niet waar, dus er gebeurt niets.
  • Nu zijn er geen getallen meer in de lijst, dus stopt de lus.



Opdracht

Maak een functie genaamd die een lijst als invoer neemt. Deze lijst bevat percentages (integers of floats) tussen 0 en 100 (inclusief). De functie moet elk getal in de lijst controleren en alleen die getallen afdrukken die voldoende zijn (50% of hoger). Voor elke voldoende moet de functie op het scherm afdrukken: [getal]% is een voldoende., waarbij [getal] vervangen wordt door het daadwerkelijke getal uit de lijst.

input-output verwachtingen
Invoer Verwachte output
50% is een voldoende.
60% is een voldoende.
70% is een voldoende.
80% is een voldoende.
90% is een voldoende.
100% is een voldoende.
50% is een voldoende.
51% is een voldoende.

(Er is geen output.)

(Er is geen output.)