Je hebt zojuist geleerd hoe je een subtotaal kan bijhouden in een for-lus. Je kan hieronder nog eends de uitleg lezen.

Herhaling informatie over een for-lus met een subtotaal

Stel dat je een lijst hebt met prijzen van producten die je in een winkelmandje hebt gedaan, en je wilt weten wat het totaalbedrag is dat je moet betalen. Je kan dan een variabele gebruiken om het subtotaal bij te houden terwijl je door de lijst van prijzen loopt.

We kunnen dit vergelijken met hoe je dit in je hoofd zou doen als je in de supermakt zou zijn. Je begint met een totaal van 0 euro, en elke keer dat je een nieuw product ziet, tel je de prijs van dat product op bij het totaal dat je al hebt. Op die manier houd je een lopend totaal bij van hoeveel je moet betalen. Je doet dus bij ieder nieuw product dat je ziet de volgende berkening:

(nieuw) totaal = (oud) totaal + prijs (van nieuw product).

Hier zie je hoe dit eruit ziet in Python met een gegeven lijst van prijzen:

prijzen = [10.99, 5.49, 3.50]

totaal = 0
for prijs in prijzen:
    totaal = totaal + prijs

print(totaal)

Wat gebeurt hier?

  • De lijst [10.99, 5.49, 3.50] wordt opgeslagen in de variabele prijzen.
  • De variabele totaal wordt geïnitialiseerd met de waarde 0.
  • De for-lus begint met de lijst die is opgeslagen in prijzen.
  • In het begin krijgt prijs de waarde 10.99.
  • De code binnen de lus, totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 0 + 10.99 = 10.99 heeft.
  • Daarna krijgt prijs de volgende waarde, namelijk 5.49.
  • De code binnen de lus, totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 10.99 + 5.49 = 16.48 heeft.
  • Vervolgens krijgt prijs de volgende waarde, namelijk 3.50.
  • De code binnen de lus, totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 16.48 + 3.50 = 19.98 heeft.
  • Nu zijn er geen prijzen meer in de lijst die we hadden gegeven, dus stopt de lus.
  • , wordt uitgevoerd, waardoor het totaalbedrag van alle prijzen op het scherm wordt afgedrukt.

Op het scherm zie je dus verschijnen:

19.98

Je gaat dit nu zelf toepassen.



Opdracht

Je krijgt onderstaande code:

prijzen = [10.99, 5.49, 3.50, 9.99, 2.50]

geld_over_in_portemonnee = 70
for ____ in ____:
    geld_over_in_portemonnee = ____

print(geld_over_in_portemonnee)

Vervang de underscores met het nodige zodat het volgende op het scherm verschijnt:

37.53

(Vervang enkel de underscores, laat de rest van de code zoals het is. Laat de underscores in de variabele geld_over_in_portemonnee staan, je moet enkel de langere underscores vervangen.)