Je hebt zojuist geleerd hoe je een subtotaal kan bijhouden in een for-lus. Je kan hieronder nog eends de uitleg lezen.
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?
[10.99, 5.49, 3.50] wordt opgeslagen in de variabele prijzen.totaal wordt geïnitialiseerd met de waarde 0.prijzen.prijs de waarde 10.99.totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 0 + 10.99 = 10.99 heeft.prijs de volgende waarde, namelijk 5.49.totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 10.99 + 5.49 = 16.48 heeft.prijs de volgende waarde, namelijk 3.50.totaal = totaal + prijs, wordt uitgevoerd, waardoor totaal nu de waarde 16.48 + 3.50 = 19.98 heeft.Op het scherm zie je dus verschijnen:
19.98
Je hebt ook al geleerd hoe je een functie kan maken. Hieronder kan je nog twee voorbeelden teruglezen.
def PlusVijf(x):
y = x + 5
return y
Wat doet deze functie?
PlusVijf.x.y gemaakt, die de waarde van x + 5 krijgt.y terug als uitvoer.Kortom, deze functie neemt een getal als invoer, telt er 5 bij op, en geeft het resultaat terug. Dus als je bijvoorbeeld PlusVijf(10) zou aanroepen, zou het 15 teruggeven.
Deze functie, genaamd Hallo wereld! af. Hier is die functie:
def BegroetVaak(aantal_keer):
for i in range(aantal_keer):
print("Hallo wereld!")
Wanneer iemand deze functie gebruikt, kan die zelf kiezen welke waarde voor aantal_keer die als invoer geeft. Als iemand bijvoorbeeld 3 als invoer geeft door
Hallo wereld!
Hallo wereld!
Hallo wereld!
Zo ook krijgt iemand die
Hallo wereld!
Hallo wereld!
Hallo wereld!
Hallo wereld!
Hallo wereld!
Hallo wereld!
Hallo wereld!
We gaan nu het bijhouden van een subtotaal in een functie met een for-lus verwerken. Op die manier kan de gebruiker zelf een lijst van prijzen geven, en zal de functie het totaalbedrag teruggeven.
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.Maak een functie genaamd
| Invoer | → | Verwachte returnwaarde |
|---|---|---|
| → | |
|
| → | |
|
| → | |
|
| → | |