0%

Waarden en variabelen · oefening

Reken met variabelen

Een expressie kan zowel variabelen gebruiken als getallen die rechtstreeks in de code staan.

number_of_items = 4
price_per_item = 3
total = number_of_items * price_per_item
print(total)

Python verwerkt de derde regel in twee stappen:

  1. Zoek de huidige waarden van number_of_items en price_per_item op en vermenigvuldig ze.

  2. Wijs het resultaat toe aan de variabele total.

De naam total verwijst nu naar het gehele getal 12.

Waarom schrijf je het antwoord niet rechtstreeks op?

Je zou total = 12 kunnen schrijven, maar dan verdwijnt het verband tussen de waarden. Als het aantal artikelen verandert, moet iemand het totaal met de hand berekenen en vervangen.

Met een expressie voert het programma de berekening uit op basis van de huidige waarden:

Try it

Verander number_of_items in 8 en voer het programma opnieuw uit. De expressie is niet veranderd, maar het resultaat wel.

Dit is een van de belangrijkste redenen waarom variabelen nuttig zijn. Je kunt er een algemeen verband mee beschrijven in plaats van één vast antwoord.

De rechterkant gebruikt de huidige waarden

Python evalueert eerst de rechterkant van een toewijzing:

width = 6
height = 4
area = width * height

Wanneer Python bij de derde regel komt, is width gelijk aan 6 en height aan 4. Daardoor krijgt area de waarde 24.

Als width later verandert, wordt area niet vanzelf bijgewerkt:

Try it

De uitvoer is nog steeds 24. Python berekende area toen het bij de toewijzing kwam. Om opnieuw te rekenen met de nieuwe breedte, moet je area = width * height opnieuw uitvoeren.

Wat drukt dit programma af?

price = 5
quantity = 3
total = price * quantity
quantity = 4
print(total)

Kijk hoe een berekening tot stand komt

In de oefeneditor krijgen de vier beginvariabelen hun waarde vóór ticket_total. In het paneel Locals van de debugger verschijnt ticket_total pas nadat de bijbehorende toewijzing is uitgevoerd. De uitvoer blijft leeg totdat de laatste printinstructie wordt uitgevoerd.

Nadat je 0 door je expressie hebt vervangen, zie je in hetzelfde paneel dat Python de berekende waarde 45 opslaat voordat die wordt afgedrukt. Zo zie je het verschil tussen rekenen en afdrukken.

Bereken de totale ticketprijs

De startcode bevat prijzen en aantallen voor twee soorten kaartjes.

Vervang 0 in de toewijzing aan ticket_total door één expressie die dit berekent:

adult tickets * adult price + child tickets * child price

Gebruik de vier bestaande variabelenamen en de operatoren * en +. Het voltooide programma moet 45 afdrukken.

Verander de vier beginwaarden niet. Het doel is dat de expressie het verband tussen de waarden laat zien.

Als het resultaat je verrast, bereken dan voor elke soort kaartje het bedrag apart op papier en vergelijk dat met je expressie.

Opdracht

Vervang 0 door een expressie die de totale prijs van alle kaartjes voor volwassenen en kinderen berekent.

Gebruik adult_tickets, child_tickets, adult_price en child_price. Het programma moet 45 afdrukken.

Laat de vier beginwaarden en print(ticket_total) ongewijzigd. Gebruik * en + in je expressie.

Klik vóór het bewerken op Step in de werkbalk van de editor. Kijk hoe de vier beginvariabelen in Locals verschijnen, gevolgd door ticket_total. Loop na het vervangen van 0 opnieuw door het programma en kijk hoe ticket_total de waarde 45 krijgt voordat de printinstructie uitvoer oplevert.