mitmario.dev

Python als Taschenrechner

Python Sandbox 4 Min Lesezeit 4 BeispieleLektion 3 von 6

Bevor Python dir Dateien sortiert und Tabellen auswertet, macht es etwas viel Bescheideneres. Es rechnet. Ein guter Einstieg ist das nicht nur, weil man Rechnen schon kann. Fast jedes Programm, das dir später Arbeit abnimmt, rechnet irgendwo etwas aus, und wenn es nur eine Summe ist oder ein Durchschnitt.

Die Grundrechenarten

Plus und Minus sehen aus wie auf dem Papier, + und -. Mal ist ein Sternchen *, geteilt ein Schrägstrich /. So ein Rechenzeichen heißt in Python Operator (operator). Die Zahlen links und rechts davon heißen seine Operanden, aber das Wort brauchst du selten.

Punkt vor Strich
print(2 + 3 * 4)
print((2 + 3) * 4)
print(10 - 4 - 3)

Heraus kommen 14, 20 und 3.

In der ersten Zeile gilt Punkt vor Strich, wie in der Schule. Python rechnet erst 3 * 4 und zählt dann 2 dazu. In der zweiten erzwingen die Klammern die andere Reihenfolge. Und in der dritten wird von links nach rechts gerechnet. 10 - 4 ist 6, davon geht noch 3 ab.

Klammern darfst du auch setzen, wo sie nichts ändern. Wenn du dir bei einer längeren Rechnung nicht sicher bist, ist eine Klammer zu viel besser als eine zu wenig. Python stört das nicht. Und wer die Zeile später liest, muss nicht im Kopf nachrechnen, was zuerst kommt.

Die Leerzeichen um die Rechenzeichen sind übrigens Geschmackssache. 2+3*4 rechnet genauso. Mit Leerzeichen liest es sich aber leichter, deshalb stehen sie in diesem Kurs überall.

Teilen hat drei Gesichter

Beim Teilen kennt Python mehr als ein Zeichen. Jedes beantwortet eine andere Frage.

Drei Arten zu teilen und eine Potenz
print(10 / 2)
print(7 / 2)
print(7 // 2)
print(7 % 2)
print(2 ** 10)

Die erste Zeile gibt 5.0 aus und nicht 5. Das überrascht am Anfang fast jeden. Der einfache Schrägstrich liefert immer eine Kommazahl, auch wenn die Rechnung glatt aufgeht. Für Python sind 5 und 5.0 zwei verschiedene Sorten Zahl, eine ganze und eine mit Nachkommastellen. Wann der Unterschied zählt, kommt in Abschnitt 2.

In den anderen Zeilen stehen die Verwandten:

  • 7 / 2 ist 3.5, das ganz normale Teilen.
  • 7 // 2 ist 3. Das heißt ganzzahlig geteilt, also so oft, wie die 2 ganz in die 7 passt. Der Rest fällt weg.
  • 7 % 2 ist 1, und das ist genau dieser Rest. Das Zeichen heißt Modulo. Klingt nach Mathestudium, ist im Alltag aber erstaunlich praktisch. Mit % 2 siehst du, ob eine Zahl gerade ist. Und % 60 lässt von einer Sekundenzahl genau die Sekunden übrig, die keine volle Minute mehr ergeben.
  • 2 ** 10 ist 1024, zwei hoch zehn. Zwei Sternchen heißen hoch.

Komma und Punkt

Hier stolpert man mit einer deutschen Tastatur fast zwangsläufig.

Ein Komma ist kein Dezimalzeichen
print(2.5 * 2)
print(2,5 * 2)

Die erste Zeile gibt 5.0 aus, alles richtig. Die zweite gibt 2 10 aus. Falsch gemacht hat Python dabei nichts. Es hat nur sehr genau das getan, was dasteht.

Python ist auf Englisch gebaut, und im Englischen trennt der Punkt die Nachkommastellen. Das Komma hat in Python eine ganz andere Aufgabe. Es trennt Werte voneinander, so wie bei print("Brot", "Milch"). In der zweiten Zeile bekommt print also zwei Werte, die 2 und 5 * 2. Beide werden mit einem Leerzeichen dazwischen ausgegeben.

Das Gemeine daran ist, dass keine Fehlermeldung kommt. Das Programm läuft einfach und rechnet falsch, ohne sich zu beschweren. In Abschnitt 6 entsteht deshalb ein eigenes kleines Werkzeug, das Zahlen in deutscher Schreibweise ausgibt, und in Abschnitt 12 eins, das sie aus einer Tabelle einliest. Bis dahin stehen Kommazahlen im Code mit Punkt.

Rechnen direkt in print

Eine Rechnung darf überall stehen, wo ein Wert stehen darf, also auch in print. Python rechnet sie zuerst aus und gibt dann das Ergebnis aus. Mit einem Komma zwischen zwei Werten kommt sogar noch eine Beschriftung davor.

Rechnung und Beschriftung in einer Zeile
print("Minuten pro Tag:", 24 * 60)
print("Drei Brötchen und ein Kaffee:", 3 * 0.45 + 2.80, "Euro")
print("Und das hier:", 0.1 + 0.2)

Die erste Zeile gibt Minuten pro Tag: 1440 aus. In der zweiten steht der Preis für drei Brötchen und einen Kaffee, 4.15.

Und dann kommt die dritte Zeile mit etwas, das man nicht erwartet: 0.30000000000000004. Kein Tippfehler, keine Störung, und kaputt ist das Programm auch nicht. Computer speichern Kommazahlen so, dass manche Werte nicht ganz genau aufgehen, und 0.1 ist einer davon. Das betrifft fast alle Programmiersprachen. Python zeigt es nur ehrlicher als manche andere. Woher das kommt, steht in Lektion 2.2, und in Abschnitt 10 geht es darum, wie man mit Geld rechnet, ohne dass Cent verloren gehen.

Zum Mitnehmen

Punkt geht vor Strich, ein einfacher Schrägstrich gibt immer eine Kommazahl, zwei Schrägstriche teilen ganz, und das Prozentzeichen gibt den Rest. Eine Kommazahl steht mit Punkt im Code, 2,5 sind für Python zwei Werte.

Jetzt du

Basis Konto, kostenlos

Zu dieser Lektion gehört eine Aufgabe. Du schreibst den Code selbst, und nach jedem Lauf sagt dir eine Prüfliste, was schon stimmt.

Dafür brauchst du das Basis Konto. Es kostet nichts, und ein Passwort gibt es auch nicht.

In diesem Kurs läuft dein Code auf einem Server. Dafür hat das Basis Konto 1 Stunde im Monat, mehr Zeit gibt es mit dem Premium Konto.

Was in dieser Lektion steckt

  • Artikel mit 4 Beispielen zum Ausprobieren

    Steht hier, ohne Konto lesbar.

  • Aufgabe, dein Code läuft auf einem Server

    Öffnet sich mit dem Basis Konto.