Je hebt zojuist geleerd hoe je een subtotaal kan bijhouden in een for-lus in een functie. Je kan hieronder nog eends het voorbeeld bekijken.
Beschouw de functie
def Totaalbedrag(prijzen):
totaal = 0
for prijs in prijzen:
totaal = totaal + prijs
return totaal
Wat doet deze functie?
Totaalbedrag.prijzen, wat een lijst van prijzen is.totaal gemaakt, die begint met de waarde 0.prijs in de lijst prijzen te lopen.prijs opgeteld bij het lopende totaal, waardoor totaal steeds geüpdatet wordt met het nieuwe totaalbedrag.Breid de
getallen: een lijst van getallen,n: een getal dat aangeeft hoeveel getallen er maximaal moeten worden opgeteld.De functie moet de som van de eerste n even getallen in de lijst teruggeven. Als er minder dan n even getallen in de lijst staan, moet de functie de som van alle even getallen in de lijst teruggeven.
| Invoer | → | Verwachte returnwaarde | Uitleg |
|---|---|---|---|
| → | 14 |
6 en 8 zijn de eerste 2 even getallen, en $$6 + 8 = 14$$ |
|
| → | 92 |
10, 4 en 78 zijn de eerste 3 even getallen, en $$10 + 4 + 78 = 92$$ |
|
| → | 0 |
Geen even getallen in de lijst, dus de som is $$0$$ | |
| → | 0 |
Geen even getallen in de lijst, dus de som is $$0$$ | |
| → | 6 |
Er zijn maar twee even getallen in de lijst, namelijk 2 en 4, dus de som is $$2 + 4 = 6$$ |
Herinner je de modulo-operator waarmee we de rest van een deling kunnen berekenen.
Een getal is even als het deelbaar is door 2, oftewel als de rest bij deling (%) door 2 gelijk is aan 0.
Zodra je in een functie de return regel tegen komt, wordt de functie onmiddellijk gestopt en wordt de waarde die achter return staat teruggegeven. Je kan dit gebruiken om eerder te stoppen als je al genoeg even getallen hebt opgeteld.