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 twee variabelen als invoer neemt: een lijst en een deler. Deze lijst bevat getallen (integers) en de deler is een strict positief geheel getal (integer). De functie moet voor elk getal in de lijst op een aparte regel op het scherm afdrukken hoe de restdeling door de gegeven deler er uit ziet met één van de twee volgende zinnen:

waarbij [deler], [aantal], [getal], en [rest] vervangen worden met de juiste waarden.

input-output verwachtingen
Invoer Verwachte output
3 past 0 keer in 1 en de rest is 1.
3 past 0 keer in 2 en de rest is 2.
3 past precies 1 keer in 3.
3 past 1 keer in 4 en de rest is 1.
3 past 1 keer in 5 en de rest is 2.
3 past precies 2 keer in 6.
3 past 2 keer in 7 en de rest is 1.
7 past 3 keer in 25 en de rest is 4.
7 past 9 keer in 63 en de rest is 0.
7 past 14 keer in 100 en de rest is 2.
15 past 0 keer in 10 en de rest is 10.
15 past 1 keer in 20 en de rest is 5.
15 past precies 2 keer in 30.
15 past 2 keer in 40 en de rest is 10.
15 past 3 keer in 50 en de rest is 5.
15 past precies 4 keer in 60.
15 past 4 keer in 70 en de rest is 10.
15 past 5 keer in 80 en de rest is 5.
15 past precies 6 keer in 90.
15 past 6 keer in 100 en de rest is 10.

(Er is geen output.)
2 past precies 4 keer in 8.
2 past 8 keer in 17 en de rest is 1.
2 past precies 2 keer in 4.
2 past 14 keer in 29 en de rest is 1.
2 past 50 keer in 101 en de rest is 1.


Je krijgt al een deel van de code, maar je zal deze zelf moeten aanvullen.

def PrintRestdeling(getallen, deler):
    for ____ in getallen:
        aantal = ____
        rest = ____
        if ____:
            ____
        else:
            ____


Cheat sheet wiskundige operaties

In een eerdere oefening heb je onderstaande wiskundige operaties al eens gezien. Je zal er in deze oefening ook enkele van nodig hebben, dus hier is een kleine herinnering:

Symbool Benaming en/of uitleg Voorbeeld Resultaat
\[ + \] Optelling 7 + 3 10
\[ - \] Aftrekking 7 - 3 4
\[ * \] Vermenigvuldiging 7 * 3 21
\[ / \] Deling 7 / 3 2.3333333333333335
De 5 op het einde komt door de manier waarop nummers in de computer worden opgeslagen. Hier hoef je niet op te letten.
\[ // \] Gehele deling
Dit is hoe vaak het tweede getal volledig in het eerste getal past.
7 // 3 2
\[ \% \] Rest (modulo)
Dit is de rest die overblijft wanneer het tweede getal zo vaak als kan wordt afgehaald van het eerste getal.
7 % 3 1
\[ ** \] Macht (exponent) 7 ** 3 343
\[ \sqrt{\ \ } \] Wortel
De vierkantswortel wordt berekend door het omgekeerde te doen van een macht: een cijfer tot de macht 0.5 is hetzelfde als de vierkantswortel te nemen.
49 ** (1/2) 7.0
\[ \sqrt[3]{\ \ } \] Derdemachtswortel
Een cijfer tot de macht 1/3 is hetzelfde als de derdewortel
27 ** (1/3) 3.0