Rechnen mit ganzen Zahlen
Grundrechenarten
Um mit Python ein wenig vertraut zu werden, können wir es zunächst einmal als einfachen Taschenrechner verwenden. Mit +
, -
, *
und /
stehen uns die vier Grundrechenarten zu Verfügung:
# Summe print(21+3) # Ergebnis: 24 # Differenz print(21-3) # Ergebnis: 18 # Produkt print(21*3) # Ergebnis: 63 # Quotient print(21/3) # Ergebnis: 7
Potenzen
Potenzen können wir erfreulich einfach mit **
berechnen. Als Beispiel können wir 2 hoch 4 bestimmen:
# Potenzen print(2**4) # Ergebnis: 16
Vorfahrtsregeln
Python beachtet die Punkt-vor-Strich-Regel sowie die Klammerung von Termen:
# Punkt vor Strich print(2+2*2) # Ergebnis: 6 # Klammern print((2+2)*2) # Ergebnis: 8
Besondere Arten der Division
Wie wir bereits gesehen haben erreichen wir die gewöhnliche Division mit /
. Ist das Ergebnis der Division kein glatter Wert, werden wie bei einem normalen Taschenrechner Nachkommastellen angezeigt:
print(21/2) # Ergebnis: 10.5 print(21/4) # Ergebnis: 5.25 print(10/3) # Ergebnis: 3.3333333333333335
Das letzte Ergebnis ist ein wenig überraschend, da die letzte angezeigte Stelle eigentlich eine 3 sein sollte. Solche Ungenauigkeiten beim Runden sind aber normal und können manchmal auch an Stellen auftreten, an denen man sie nicht erwartet.
Es gibt neben der gewöhnlichen Division noch zwei weitere. Verwenden wir //
, so werden die Nachkommastellen abgeschnitten. Es wird also abgerundet:
print(21//2) # Ergebnis: 10 print(21//4) # Ergebnis: 5 print(10//3) # Ergebnis: 3
Diese Art der Division nennt man auch ganzzahlige Division.
Außerdem können wir noch %
verwenden, um den Rest zu ermitteln, der bei einer Division übrig bleibt. Dies ist vielleicht zunächst etwas ungewohnt, aber eigentlich aus der Grundschule bekannt. So lernt man ja zum Beispiel 22 durch 5 ist 4 Rest 2, weil die 5 viermal in die 22 passt und 2 übrigbleiben. Man sagt 22 modulo 5 ist 2 und nennt das Symbol %
auch den Modulo-Operator.
Hier sind noch weitere Zahlenbeispiele:
print(20%5) # Ergebnis: 0 print(21%5) # Ergebnis: 1 print(22%5) # Ergebnis: 2 print(23%5) # Ergebnis: 3 print(24%5) # Ergebnis: 4 print(25%5) # Ergebnis: 0
Zum besseren Verständnis sehen wir uns ein Beispiel für diese Divisionen im Sachzusammenhang an: Wir haben 35 Kerzen zur Verfügung stehen und möchten daraus Adventskränze basteln. Natürlich brauchen wir für jeden Kranz 4 Kerzen. Wie viele Kränze können wir basteln und wie viele Kerzen bleiben dabei übrig? Das berechnen wir ganz einfach so:
print(35 // 4) # Ergebnis: 8 print(35 % 4) # Ergebnis: 3
Wir können also 8 Kränze basteln wobei 3 Kerzen als Rest bleiben.
Rechnen mit Dezimalzahlen
Das Rechnen mit Dezimalzahlen funktioniert im Grunde genau wie das mit ganzen Zahlen. Wir müssen nur die korrekte Schreibweise beachten:
Dezimalzahlen werden (anders als im Deutschen) mit einem Punkt geschrieben werden.
Sehen wir uns ein paar Beispiele zur Division an:
print(10.5 / 2) # Ergebnis: 5.25 print(10.5 // 2) # Ergebnis: 5.0 print(10.5 % 2) # Ergebnis: 0.5 print(11 / 2.5) # Ergebnis: 4.4 print(11 // 2.5) # Ergebnis: 4 print(11 % 2.5) # Ergebnis: 1 print(10.5 / 2.5) # Ergebnis: 4.2 print(10.5 // 2.5) # Ergebnis: 4 print(10.5 % 2.5) # Ergebnis: 0.5
Auch hier wird bei der Division mit //
als immer abgerundet und %
ist wiederum der Modulo-Operator Rest.
Auch dazu ein Anwendungsbeispiel: Wir haben ein 4,5 m langes Brett von dem wir 0,4 m lange Stücke absägen sollen. Wie viele Stücke erhalten wir und wie viel Verschnitt bleibt übrig?
print(4.5 // 0.4) # Ergebnis: 11.0 print(4.5 % 0.4) # Ergebnis: 0.09999999999999976
Wir erhalten 11 Stücke und es bleibt ein Verschnitt von 0,1 cm übrig.