← Python/De eerste bouwstenen
Les 4 van 8
MODULE 01 · 04◷ 16 min

Reken met volgorde en resten

Na deze les kun je
  • De volgorde van een berekening met haakjes veranderen
  • Gewoon delen, geheel delen en de rest onderscheiden
  • Geheel delen bij negatieve getallen voorspellen

Je hebt koekjes voor een groep en wilt weten hoeveel volle zakjes je kunt vullen. Het gemiddelde aantal per zakje helpt dan niet: je hebt hele zakjes én losse koekjes nodig. Python heeft verschillende manieren van delen om precies die vragen te beantwoorden.

Eerst de rekenvolgorde

Bij een berekening met + en * gaat vermenigvuldigen vóór optellen. Met ronde haakjes geef je aan welk deel eerst moet worden uitgerekend. Zo betekent 2 + 3 * 4 twee plus twaalf, terwijl (2 + 3) * 4 vijf keer vier betekent.

Haakjes maken je bedoeling zichtbaar. Gebruik ze wanneer het totaal van twee waarden moet worden vermenigvuldigd, in plaats van slechts één van die waarden. Anders kan je programma zonder foutmelding toch een verkeerde uitkomst geven.

Drie vragen, drie operatoren

Een float is een getal dat een decimaal deel kan hebben. Python schrijft daarvoor een punt, zoals in 2.5. Gewoon delen met / geeft bij de gehele getallen in deze les een float terug.

VraagOperatorBetekenis
Welk aandeel krijgt ieder?/Gewone deling
Hoeveel hele groepen passen?//Delen en naar beneden afronden
Wat blijft over?%De rest van de deling

Het resultaat van // heet hier het quotiënt; bij twee integers is dat ook een integer. Met % bereken je de rest. Quotiënt maal groepsgrootte plus rest levert het oorspronkelijke aantal op.

Van getallen naar zakjes

Het voorbeeld vergelijkt eerst twee rekenvolgordes en verdeelt daarna veertien koekjes over zakjes van vier. print(a, b) kan twee waarden op één regel tonen: standaard zet Python er een spatie tussen.

Rekenvolgorde en volle zakjes
print(2 + 3 * 4, (2 + 3) * 4)
cookies = 14
size = 4
print(cookies / size)
print(cookies // size, cookies % size)
Verwachte uitvoer
14 20
3.5
3 2

De gewone deling geeft drieënhalf. Je kunt echter maar drie zakjes helemaal vullen en houdt twee koekjes over. Controleer het verband: drie keer vier plus twee is weer veertien.

Een verrassing bij negatieve waarden

“Naar beneden” betekent richting kleinere getallen, ook links van nul. Het betekent dus niet simpelweg het decimale deel wegstrepen. Dat onderscheid komt bijvoorbeeld terug wanneer je rekent met een negatief saldo.

Waarom min drie hier niet klopt
print(-14 / 4)
print(-14 // 4, -14 % 4)
print(-4 * 4 + 2)
Verwachte uitvoer
-3.5
-4 2
-14

De gewone deling is min drieënhalf. Het dichtstbijzijnde gehele getal daaronder is min vier, zodat // die waarde geeft. Met de positieve deler vier wordt de rest twee: min vier maal vier plus twee is min veertien.

Als je hier min drie verwachtte, dacht je aan afronden richting nul. Controleer bij twijfel het verband tussen quotiënt, deler en rest. In deze les delen we steeds door een positief getal dat niet nul is.

Nu jij

De regels met # in de editor zijn commentaar: tekst voor jou als lezer die Python niet uitvoert. Ze wijzen aan bij welke stap je gaat rekenen.

Vergelijk twee rekenvolgordes en verdeel daarna de bestaande hoeveelheid over dozen. Toon ook de negatieve variant, zodat je controleert welke kant Python op afrondt. Gebruik de waarden bovenaan de editor in je berekeningen.

AAN DE SLAG 0/4
1

Kies de rekenvolgorde

Toon op regel 1 eerst base + extra * factor, daarna dezelfde waarden met de optelling eerst. Verwacht: 13 20.

2

Verdeel gelijk

Deel units door box_size met /. Toon het kommagetal 3.4 op regel 2.

3

Tel volle dozen en losse eenheden

Toon op regel 3 hoeveel volle dozen van vijf er in zeventien passen, gevolgd door de rest: 3 2.

4

Controleer de negatieve grens

Gebruik dezelfde bewerkingen op -units. Toon op regel 4 het quotiënt en de rest: -4 3.

Dit neem je mee

  • Haakjes laten een optelling vóór een vermenigvuldiging plaatsvinden.
  • /, // en % beantwoorden verschillende vragen.
  • Geheel delen rondt ook bij negatieve waarden naar beneden af.

Hierna onderzoek je hoe je getallen uit tekst haalt voordat je ermee rekent.

main.py
UitvoerPython
›
›_

Hier komt je resultaat.

Voer je code uit en ontdek
wat je hebt gemaakt.

0/4 stappen
EVEN MEEKIJKEN

Bekijk hoe het kan.

Je mag de oplossing bekijken. Deze poging telt dan niet mee als afgeronde les. Met Reset kun je daarna opnieuw zelf oefenen.