2. Berekeningen in de CLI#
Het woord ‘computer’ komt van het Latijnse computare, dat ‘berekenen’ betekent. Soms ook wordt een computer gekscherend een uit de kluiten gewassen rekenmachine genoemd. Het is vrijwel onmogelijk een computerprogramma te maken waarin níets wordt berekend. Daarom is het belangrijk dat je leert hoe rekenen in Python werkt.
2.1. De CLI#
In dit hoofdstuk gebruik je de CLI, de Command Line Interface. De CLI wordt ook wel Interactieve Prompt genoemd. Interactief geeft aan dat je direct met Python communiceert: je typt een commando, drukt op Enter en ziet meteen het resultaat. Prompt staat voor het symbool dat aangeeft dat je een commando kunt typen. In Python is dat vaak >>>.
2+2
4
Hieronder lees je waar je de CLI kunt vinden in IDLE, Mu en Replit.
2.1.1. CLI in IDLE#
In IDLE is de CLI heel eenvoudig te vinden. Je krijgt hem namelijk meteen te zien wanneer je IDLE opstart.
Fig. 2.1 CLI in Python IDLE#
2.1.2. CLI in Mu#
In Mu dien je een paar extra stappen uit te voeren om bij de CLI te komen. Mu start namelijk standaard met een bestand waarin je programmacode kunt typen. Laat dit bestand leeg, maar sla het wel op, bijvoorbeeld onder de naam blank.py. Klik daarna op de Run knop om de (niet bestaande) code uit te voeren. Daardoor wordt in het onderste deel van het Mu venster de CLI geopend.
Fig. 2.2 CLI in Mu#
2.1.3. CLI in Replit#
In Replit wordt de CLI Console genoemd. Dit tabblad wordt standaard geopend, maar mocht dat niet het geval zijn, dan kun je het altijd toevoegen door op de + te klikken naast de geopende tabbladen. Merk op dat Replit niet de standaard Python prompt >>> gebruikt, maar slechts één >.
Fig. 2.3 CLI (Console) in Replit#
2.2. Optellen, aftrekken, vermenigvuldigen en delen#
In het dagelijks leven gebruiken we meestal de symbolen \(+\), \(-\), \(\times\) en \(:\) voor optellen, aftrekken, vermenigvuldigen en delen. In Python noemen we de symbolen voor berekeningen operators en ze wijken voor vermenigvuldigen en delen af van de symbolen die je gewend bent.
Berekening |
Dagelijks leven |
Python |
|---|---|---|
Optellen |
\(+\) |
\(+\) |
Aftrekken |
\(-\) |
\(-\) |
Vermenigvuldigen |
\(\times\) |
\(*\) |
Delen |
\(:\) |
\(/\) |
Probeer de rekenkundige operators eens uit in de CLI. Voer bijvoorbeeld de volgende berekeningen in en druk telkens op Enter om Python het antwoord te laten geven:
15 + 49
64
1048 - 256
792
12 * 14
168
345 / 23
15.0
Het antwoord op de deling 345 / 23 wekt misschien enige verbazing. Waarom antwoordt Python hier 15.0 en niet gewoon 15? Daar komen we later op terug in het hoofdstuk datatypes.
Notitie
Wellicht is je opgevallen dat in de voorbeelden spaties zijn gebruikt in de berekeningen: 15 + 49 in plaats van 15+49. De reden hiervoor is betere leesbaarheid. Voor Python maakt het niet uit of je wel of geen spaties tussen de operator en de getallen typt.
2.3. Haakjes veranderen de rekenvolgorde#
Door haakjes te gebruiken in berekeningen kun je de standaard rekenvolgorde aanpassen. Kijk maar eens naar de volgende twee berekeningen:
2 + 3 * 4
14
(2 + 3) * 4
20
In de berekening 2 + 3 * 4 wordt volgens de standaard rekenvolgorde eerst de vermenigvuldiging 3 * 4 = 12 uitgevoerd en daarna pas de optelling 2 + 12 = 14. In de berekening (2 + 3) * 4 geven de haakjes voorrang aan de optelling 2 + 3 = 5 en wordt pas naarna vermenigvuldigd: 5 * 4 = 20.
2.4. Machtsverheffen#
De vermenigvuldiging \(2\times2\times2\) kun je korter schrijven als \(2^{3}\). Dit noemen we machtsverheffen: we verheffen \(2\) tot de macht \(3\). Het getal \(2\) heet in deze berekening het grondtal en het getal \(3\) heet de exponent.
De exponent geeft aan hoe vaak je het grondtal met zichzelf vermenigvuldigt. Bijvoorbeeld de machtsverheffing \(3^{5}\) betekent \(3\times3\times3\times3\times3\). Je spreekt de berekening uit als ‘drie tot de macht vijf’ of ‘drie tot de vijfde (macht)’.
De Python operator voor machtsverheffen is **. Best logisch als je bedenkt dat machtsverheffen neerkomt op herhaald vermenigvuldigen.
2 ** 3
8
2 * 2 * 2
8
3 ** 5
243
3 * 3 * 3 * 3 * 3
243
2.5. Delen met rest#
Wanneer je in Python twee getallen deelt met de / operator, is het resultaat een decimaal getal: een getal met een komma.
345 / 23
15.0
345 / 12
28.75
Op de basisschool heb je waarschijnlijk ‘delen met rest’ geleerd, bijvoorbeeld door een staartdeling te maken zoals hieronder.
De uitkomst van \(345:12\) is volgens deze berekening \(28\text{ rest }9\). In Python heb je voor dit resultaat twee aparte operators nodig: // en %. Met de operator // verkrijg je de naar beneden afgeronde uitkomst van de deling en met % de rest van de deling.
345 // 12
28
345 % 12
9
2.6. Overzicht rekenkundige operators#
In dit hoofdstuk heb je de onderstaande rekenkundige operators leren kennen.
Operator |
Naam |
Voorbeeld |
Uitkomst |
|---|---|---|---|
|
Optellen (som) |
|
|
|
Aftrekken (verschil) |
|
|
|
Vermenigvuldigen (product) |
|
|
|
Delen (quotiënt) |
|
|
|
Machtsverheffen |
|
|
|
Geheeltallige deling |
|
|
|
Rest of modulus |
|
|