Python als Taschenrechner
Verschiedene Arten von Zahlen
Natürlich kann man das Python-System dazu nutzen, um Berechnungen auszuführen, so dass das System wie ein Taschenrechner funktioniert.
Die Grundrechenarten Addieren +, Subtrahieren - funktionieren so, wie du es erwartest! Und Multiplikation gibt es natürlich ebenfalls, benutzbar mit dem Zeichen *.
Die Division muss noch besonders beleuchtet werden. Dazu musst du wissen, dass es in Python zwei Arten von Zahlen gibt:
- Ganze Zahlen so wie 5, 42, -13, 12345, ... Es sind also Folgen von Ziffern, ggf. mit dem Minuszeichen vorne.
- Sie werden in Python mit int bezeichnet.
- Dezimalzahlen, erkennbar an einem Dezimalpunkt(!)
- Man bezeichnet sie mit float.
Also sind z.B. 3.14 oder auch -42.56 solche Dezimalzahlen; aber auch 5.0 ist eine Zahl vom Typ float, da sie ein solches Dezimalkomma enthält.
Daneben gibt es noch eine weitere Art der Division: die sogenannte ganzzahlige Division mit Hilfe der Zeichen //
Natürlich ist es bei der Division von ganzen Zahlen wichtig, den Divisionsrest zu ermitteln:
- So ist z.B. 27 keine Primzahl, da 3 ein Teiler von 27 ist. Das sagt uns hier der Divisionsrest, denn man kann 27 ohne Rest durch 3 dividieren. Und genau das liefert die Python-Anfrage 27 % 3 = 0
- Wenn man jedoch beispielsweise die Zahl 17 untersucht, so wird man für alle Probeteiler 2, 3, 4, ..., 16 niemals den Divisionsrest 0 finden.
Schließlich kann man Zahlen auch potenzieren. Das erfolgt mit den Zeichen **.
Also ist z.B.
3 ** 4 = 81
Bei allen diesen Rechenoperationen gelten die aus der Mathematik bekannten Rechen- und Vorrangregeln:
- Falls es gibt Klammern gibt, werden deren Inhalte zuerst berechnet.
- Dann werden alle Potenzen berechnet (sofern in dem Term vorhanden).
- Anschließend werden die Multiplikationen und die Divisionen ausgeführt.
- Und schließlich berechnet man alle Additionen und Subtraktionen.
- Falls es mehrere gleichberechtigte Operationen gibt, werden sie von links nach rechts ausgeführt.
- Eine Besonderheit bei den Potenzen muss hier jedoch noch erwähnt werden. Ein Term der Form `2^(3^4)` wird in Python - wie in der Mathematik üblich - interpretiert als `2^((3^4))` und nicht als `(2^3)^4` Man führt also die Potenzen von rechts nach links aus.
Dies können wir jetzt einmal in Python ausprobieren:
Kopiere den PythonCode in deine Thonny-Umgebung und probiere die verschiedenen Rechenoperationen aus. Verwende auch Dezimalzahlen (float) statt der ganzen Zahlen (int).
Lade das nebenstehende Python-Programm und fülle die Zuweisungen in den einzelnen Zeilen, wie dort als Kommentar angegeben, aus. Beobachte dann die Ausgabe. Wieso ist das Ergebnis unabhängig von der Eingabe in der ersten Zeile? Begründe dies.
so dass die Ausgabe also - unabhängig von der Wahl von z - immer 3 ist! Lade das nebenstehende Python-Programm und fülle die Zuweisungen in den einzelnen Zeilen, wie dort als Kommentar angegeben, aus. Die Ausgabe zeigt dir ein sogenanntes magisches Quadrat. Es ist deshalb etwas Besonderes, da die Summen aller Zeilen, aller Spalten und der beiden Diagonalen identisch sind. Das nennen wir einmal die magische Eigenschaft.
Wenn man die entsprechenden Summen, wie in dem Programm angegeben, bildet, erkennt man die magische Eigenschaft. Denn alle Summen haben den Wert 21*a + b Prüfe mit einem Python-Programm, ob 17 (19, 21) tatsächlich eine Primzahl ist.# Python als Taschenrechner
print(12//8) ## Die ganzzahlige Division
print(12/8) ## Division
print(12%8) ## Divisionsrest
print(2**3**2) ## Mehrfachpotenz
print((2**3)**2)
print(2**(3**2))
Aufgabe 1
# Ein Zaubertrick: Fülle die Zeilen korrekt aus!
z = ### Denk dir eine Zahl aus und weise sie in dieser Zeile z zu
a1 = ### z mit 5 multiplizieren
a2 = ### a1 verdoppeln
a3 = ### Teile a2 jetzt durch die Zahl, die du Dir am Anfang ausgedacht hast.
## Ist die normale Division richtig? Oder benutze die ganzzahlige Division!
## Gibt es manchmal einen Divisionsrest? Teste das im Programm!
a4 = ### Subtrahiere davon 7
print(a4)
### egal, was du für z einsetzt, es wird immer ??? geliefert
Aufgabe 2
at = input("Gib einen Wert für a ein:")
bt = input("Gib einen Wert für b ein:")
a = int(at)
b=int(bt)
print("Die Summe aller Reihen, Spalten und Diagonalen ist:",a*21 + b)
# Magisches Quadrat ausgeben:
print("------------------------------------------------------------")
print(a+b, a, 12*a, 7*a)
print(11*a, 8*a, b, 2*a)
print(5*a, 10*a, 3*a, 3*a + b)
print(4*a, 2*a + b, 6*a, 9*a)
print("------------------------------------------------------------")
at = input("Gib einen Wert für a ein:")
bt = input("Gib einen Wert für b ein:")
a = int(at)
b=int(bt)
print("Die Summe aller Reihen, Spalten und Diagonalen ist:",a*21 + b)
# Magisches Quadrat ausgeben:
print("------------------------------------------------------------")
print(a+b, a, 12*a, 7*a)
print(11*a, 8*a, b, 2*a)
print(5*a, 10*a, 3*a, 3*a + b)
print(4*a, 2*a + b, 6*a, 9*a)
print("------------------------------------------------------------")
z1 = a+ b + a + 12*a + 7*a
z2 = 11*a + 8*a + b + 2*a
z3 = 5*a + 10*a + 3*a + 3*a + b
z4 = 4*a + 2*a + b + 6*a + 9*a
s1 = a+b + 11*a + 5*a + 4*a
s2 = a + 8*a + 10*a + 2*a + b
s3 = 12*a + b + 3*a + 6*a
s4 = 7*a + 2*a + 3*a + b + 9*a
d1 = a+b + 8*a + 3*a + 9*a
d2 = 7*a + b + 10*a + 4*a
print("z1=", z1)
print("z2=", z2)
print("z3=", z3)
print("z4=", z4)
print("s1=", s1)
print("s2=", s2)
print("s3=", s3)
print("s4=", s4)
print("d1=", d1)
print("d2=", d2)
Aufgabe 3
In dem Jupyter-Notebook, das du hier starten kannst, findest du in dem ersten Teil die Möglichkeit, Python als Taschenrechner zu nutzen.