3 De rekenmachine
Je kunt nu variabelen maken en printen. In deze les laat je Python voor je rekenen — net als een calculator, maar met de waardes uit je variabelen.
Rekenoperatoren
Python kent vier basisoperatoren:
| Operator | Betekenis | Voorbeeld | Resultaat |
|---|---|---|---|
+ | optellen | 5 + 3 | 8 |
- | aftrekken | 10 - 4 | 6 |
* | vermenigvuldigen | 3 * 7 | 21 |
/ | delen | 10 / 4 | 2.5 |
print(5 + 3) # 8
print(10 / 4) # 2.5
/ geeft altijd een decimaal getal terug, ook als de uitkomst rond is: 10 / 2 is 5.0, niet 5.
Rekenen met variabelen
Je kunt variabelen direct in een berekening gebruiken:
prijs = 12.50
aantal = 4
totaal = prijs * aantal
print("Totaal:", totaal)
Uitvoer: Totaal: 50.0.
Rekenvolgorde
print(2 + 3 * 4)
Wil je toch eerst optellen, zet dan haakjes:
print((2 + 3) * 4) # 20
Bij twijfel: zet haakjes om duidelijk te maken wat eerst moet.
Delen met rest
Je verdeelt 17 snoepjes over 5 kinderen. Met / krijg je 3.4, maar een snoepje breek je niet. // geeft hoeveel hele keren het past, en % wat er overblijft:
print(17 // 5) # 3
print(17 % 5) # 2
Ieder kind krijgt er 3, en er blijven er 2 over. Met % 2 zie je of een getal even is: de rest is dan 0.
print(14 % 2) # 0
print(15 % 2) # 1
Er gaat iets mis
De rekenvolgorde vergeten
a = 6
b = 8
gemiddelde = a + b / 2
print(gemiddelde)
Uitvoer:
10.0
Het gemiddelde van 6 en 8 is 7, maar Python deelt eerst b door 2 en telt daarna a erbij op. Geen foutmelding, wel een fout antwoord. Met haakjes klopt het: (a + b) / 2 geeft 7.0.
Delen door nul
print(10 / 0)
Uitvoer:
ZeroDivisionError: division by zero
Delen door nul kan niet, ook niet in Python. Het programma stopt op die regel.
Opdracht 3.1: Optellen
Print de uitkomst van 12 + 8.
# Schrijf hier je code
Klik hier voor de oplossing.
print(12 + 8)
print(12 + 8)
Opdracht 3.2: Kassa-totaal
Een artikel kost 1.50 euro. De klant koopt er 4. Bereken het totaal en print het.
Verwachte uitvoer:
Totaal: 6.0 euro
# Schrijf hier je code
Klik hier voor een tip.
Totaal is prijs * aantal. Print met print("Totaal:", totaal, "euro").
Klik hier voor de oplossing.
prijs = 1.50
aantal = 4
totaal = prijs * aantal
print("Totaal:", totaal, "euro")
prijs = 1.50
aantal = 4
totaal = prijs * aantal
print("Totaal:", totaal, "euro")Opdracht 3.3: Volledige rekenmachine
Bouw een rekenmachine met twee variabelen a en b. Print alle vier basis-berekeningen netjes onder elkaar.
Verwachte uitvoer (bij a = 10, b = 4):
=== Rekenmachine ===
Getal 1: 10
Getal 2: 4
Som: 14
Verschil: 6
Product: 40
Quotiënt: 2.5
# Schrijf hier je code
Klik hier voor een tip.
Maak vier extra variabelen (som, verschil, product, quotient) en print ze één voor één. Een lege print() zonder argumenten geeft een witregel. De getallen staan netjes onder elkaar doordat er in de tekst extra spaties staan: "Som: " heeft er vijf achter de dubbele punt.
Klik hier voor de oplossing.
a = 10
b = 4
som = a + b
verschil = a - b
product = a * b
quotient = a / b
print("=== Rekenmachine ===")
print("Getal 1:", a)
print("Getal 2:", b)
print()
print("Som: ", som)
print("Verschil:", verschil)
print("Product: ", product)
print("Quotiënt:", quotient)
Het werkt, maar die spaties tellen is gepruts. Met f-strings zet je tekst en variabelen makkelijker in één zin.
a = 10
b = 4
som = a + b
verschil = a - b
product = a * b
quotient = a / b
print("=== Rekenmachine ===")
print("Getal 1:", a)
print("Getal 2:", b)
print()
print("Som: ", som)
print("Verschil:", verschil)
print("Product: ", product)
print("Quotiënt:", quotient)Opdracht 3.4: Snoep verdelen
Je verdeelt 23 snoepjes eerlijk over 4 kinderen. Print hoeveel ieder kind krijgt en hoeveel er overblijven.
Verwachte uitvoer:
Ieder krijgt: 5
Over: 3
snoepjes = 23 kinderen = 4
Klik hier voor een tip.
Hoeveel hele keren past 4 in 23? Dat geeft //. Wat er overblijft, geeft %.
Klik hier voor de oplossing.
snoepjes = 23
kinderen = 4
print("Ieder krijgt:", snoepjes // kinderen)
print("Over:", snoepjes % kinderen)
Uitvoer:
Ieder krijgt: 5
Over: 3