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.