Ga naar hoofdinhoud

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:

OperatorBetekenisVoorbeeldResultaat
+optellen5 + 38
-aftrekken10 - 46
*vermenigvuldigen3 * 721
/delen10 / 42.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)
Voorspel
Wat print dit programma?
Kies wat jij denkt. Bij het goede antwoord zie je de uitleg.

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