30
Was ist Programmieren?
Kapitel
1
Also ist alles meine Schuld! Ich hätte dir gleich sagen sollen, dass sich die
Bezeichnungen in Python – wie in fast allen Programmiersprachen – aus
dem Englischen ableiten. Und im Englischen heißt
Quadratwurzel
squareroot
. Die entsprechende Python-Funktion heißt aber
sqrt
, damit
du weniger tippen musst!
>>> sqrt(4)
2.0
>>>
Richtig! Und doch ist wieder etwas Neues dabei! Eine Kommazahl kommt
als Ergebnis heraus! Also kann Python auch mit Kommazahlen rechnen?
Beachte: Das Dezimalkomma ist ein Punkt, kein Beistrich!
>>> 3.125 * 0.8
2.5
>>> sqrt(2)
1.4142135623730951
>>> 2 * sqrt(2)
2.8284271247461903
Fällt dir was auf? Hättest du das mit der Hand (oder im Kopf) gerechnet,
dann hättest du ein anderes Ergebnis erhalten. (Wenn auch nur ein biss-
chen anders.)
>>> sqrt(2)*sqrt(2)
2.0000000000000004
Diese Beispiele zeigen dir, dass das Rechnen mit Kommazahlen auf Compu-
tern unvermeidlich mit kleinen Ungenauigkeiten verbunden ist. Sie entste-
hen aus Fehlern, die beim Auf- und Abrunden im Mikroprozessor auftreten.
(Das gilt in gleichem Maße für deinen Taschenrechner, auch wenn der bei
der zweiten Rechnung den Rundungsfehler verschweigen würde, weil er
nur zehn oder zwölf Stellen anzeigt, obwohl er intern mit mehr Stellen
arbeitet.)
sqrt ist eine Funktion
Wahrscheinlich ist dir aufgefallen, dass ich hier die Zahl 2, aus der die
Wurzel gezogen wurde, in runde Klammern geschrieben habe. Das habe ich
nicht gemacht, weil es netter aussieht, sondern aus folgendem Grund:
sqrt
ist der Name einer
Funktion
, der Quadratwurzel-Funktion. In Python
wimmelt es von Funktionen. Sie spielen eine ganz wichtige Rolle und du
wirst bald selber in die Lage kommen, welche zu programmieren.
31
sqrt ist eine Funktion
Der Ausdruck
sqrt(2)
ist ein Aufruf der Funktion
sqrt
aus dem Modul
math
. Damit diese Funktion ihre Arbeit ausführen kann, braucht sie eine
bestimmte Information, nämlich die Angabe der Zahl, aus der die Wurzel
gezogen werden soll. Diese Information muss ihr beim Aufruf übergeben
werden. Man sagt: Beim
Funktionsaufruf
sqrt(2)
wird der
Funktion
sqrt
der Wert
2
als
Argument
oder
Eingabewert
übergeben.
Um eine Funktion richtig verwenden zu können, musst du als Program-
miererin oder Programmierer wissen, wie viel und welche Art von Infor-
mation die Funktion braucht. Das heißt, du musst wissen, wie viele Ar-
gumente du der Funktion beim Aufruf übergeben musst und von welcher
Art diese Argumente sein müssen.
Wenn du weißt, dass
sqrt()
als Argument eine Zahl verlangt, wirst du
wohl kaum auf die Idee kommen, zu schreiben:
>>> sqrt("ziemlich viel") # Unsinn!!
Wie du gleich sehen wirst, gibt es Funktionen, die mehr als ein Argument
verlangen, aber auch solche, die ganz ohne Argumente auskommen.
Die Funktion
sqrt
braucht aber nicht nur einen Eingabewert, sondern
sie liefert auch einen
Rückgabewert
ab, zum Beispiel an die Python-
Shell, die ihn sofort in das Shell-Fenster schreibt:
>>> sqrt(2)
1.4142135623730951
oder in einen Rechenausdruck einsetzt, wie in den anderen Beispielen
weiter oben.
Wie du ebenfalls gleich sehen wirst, gibt es in Python auch Funktio-
nen, die keinen Rückgabewert haben. (Ups! Das ist jetzt ein bisschen
oberflächlich. Warte ab, in Kapitel 10 kommt das Thema noch einmal,
dann viel genauer.)
Da hab’ ich noch eine Idee:
Hast du nicht zufällig eine unfertige Mathe-
Hausaufgabe rumliegen? Ich kenne das, der Computer hat ja oft eine grö-
ßere Anziehungskraft als Hausaufgaben. Wenn ja, dann hole sie dir rasch
her und verwende zur Lösung der Aufgaben doch Python als Ersatz für
deinen Taschenrechner – sehr praktisch, zwei Fliegen auf einen Schlag!
Hausaufgabe erledigt und Python besser kennen gelernt.

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.