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.

Voorbeeld van een functie die een subtotaal bijhoudt in een for-lus

Beschouw de functie hieronder als een voorbeeld van hoe dat eruit zou kunnen zien.

def Totaalbedrag(prijzen):
    totaal = 0
    for prijs in prijzen:
        totaal = totaal + prijs
    return totaal

Wat doet deze functie?

  • De functie heet Totaalbedrag.
  • De functie heeft één invoer, namelijk prijzen, wat een lijst van prijzen is.
  • Binnen de functie wordt een nieuwe variabele totaal gemaakt, die begint met de waarde 0.
  • De functie gebruikt een for-lus om door elke prijs in de lijst prijzen te lopen.
  • In elke iteratie van de lus wordt de huidige prijs opgeteld bij het lopende totaal, waardoor totaal steeds geüpdatet wordt met het nieuwe totaalbedrag.
  • Nadat alle prijzen in de lijst zijn verwerkt, geeft de functie het uiteindelijke totaalbedrag terug als uitvoer.



Opdracht

Breid de functie van de vorige oefening uit. De functie heeft nog steeds twee variabelen als invoer, namelijk:

De functie moet eerst op het scherm afdrukken hoeveel geld er in de portemonnee zit voordat er aankopen worden gedaan, in de volgende vorm: U begint met €[bedrag] in uw portemonnee.

Daarna moet de functie na elke aankoop op het scherm afdrukken hoeveel de aankoop kost en hoeveel geld er nog in de portemonnee zit in de volgende vorm: Na de aankoop van €[prijs] heeft u nog €[bedrag] over in uw portemonnee.

input-output verwachtingen
Invoer Verwachte output
U begint met €100 in uw portemonnee.
Na de aankoop van €10 heeft u nog €90 over in uw portemonnee.
Na de aankoop van €20 heeft u nog €70 over in uw portemonnee.
Na de aankoop van €30 heeft u nog €40 over in uw portemonnee.
U begint met €50 in uw portemonnee.
Na de aankoop van €5 heeft u nog €45 over in uw portemonnee.
Na de aankoop van €15 heeft u nog €30 over in uw portemonnee.
Na de aankoop van €15 heeft u nog €15 over in uw portemonnee.
Na de aankoop van €10 heeft u nog €5 over in uw portemonnee.
Na de aankoop van €5 heeft u nog €0 over in uw portemonnee.
U begint met €20 in uw portemonnee.
Na de aankoop van €7.99 heeft u nog €12.01 over in uw portemonnee.
Na de aankoop van €2.50 heeft u nog €9.51 over in uw portemonnee.
Na de aankoop van €3.75 heeft u nog €5.76 over in uw portemonnee.
U begint met €20 in uw portemonnee.
U begint met €3.51 in uw portemonnee.
Na de aankoop van €2.51 heeft u nog €1.0 over in uw portemonnee.