116
Wir erzeugen unsere eigenen Funktionen
Kapitel
4
0
Die Funktion
fuelle_dreieck()
kann damit leichter auch zum Zeich-
nen anderer Dreiecke herangezogen werden, wo etwa
seite
nicht ge-
ändert werden soll.
0
Die Turtle zeigt vor und nach dem Funktionsaufruf in dieselbe Richtung.
0
Dies wiegt bei weitem auf, dass im zweiten Programm weniger Anwei-
sungen erforderlich sind. Du wirst aber in Kapitel 6 lernen, wie man sich
die zwei Zeilen doch noch sparen kann.
Es gilt als Regel: So sparsam wie möglich globale Variablen in Funktio-
nen ändern!
Mini-Quiz
Du hast nun gelernt, dass ein Block von Anweisungen, der in einem Pro-
gramm immer wieder gebraucht wird, in eine Funktion gepackt werden
kann. Ein Aufruf dieser Funktion bewirkt, dass alle Anweisungen des Blocks
ausgeführt werden. Das wird doch nicht nur für Turtle-Grafik-Programme
nützlich sein?
Wir werden das nun gemeinsam an einer ganz anders gelagerten Fragestel-
lung untersuchen. Wir wollen ein kleines Quizprogramm erstellen. Es könn-
te etwa folgendermaßen arbeiten. Beachte, dass
kursiv
gedruckte Wörter
Benutzereingaben sind und die Antworten natürlich von den Eingaben ab-
hängen müssen.
Hallo! Du kannst hier ein paar Quizfragen
beantworten, um dein Wissen zu überprüfen.
Wie heißt du denn?
Eric
Also viel Glück, Eric, es geht los!
Welche Programmiersprache lernst du gerade?
Python
Richtig!
Mit welchem reservierten Wort beginnt eine
Funktionsdefinition?
fun
Leider falsch!
Richtig ist: def
Wie viele reservierte Worte hat Python?
101
Leider falsch!
Richtig ist: 33
117
Mini-Quiz
Du hast 1 von 3 Punkten erreicht!
Fein, du hast schon einiges gelernt, Eric !
Sieh dir doch mal das Python-Video auf der CD an!
Wenn wir das programmieren wollen, müssen wir zuerst das Problem ana-
lysieren und einen Programmentwurf schreiben. Man sieht gleich, dass der
Programmablauf drei Phasen hat:
Programmentwurf: MiniQuiz
Begrüßung
Quizfrage 1
Quizfrage 2
Quizfrage 3
Beurteilung
Die Begrüßung scheint ja nichts Neues zu enthalten – so etwas hast du
schon gemacht.
Doch bei den Quizfragen tritt etwas Neues auf: Das Programm muss ent-
scheiden können, ob die Frage richtig beantwortet wurde oder nicht. Wenn
sie richtig beantwortet wurde, soll das Programm mit
"Richtig!"
ant-
worten.
Wenn wir für die Frage und die Lösung jeweils die Variablennamen
frage
und
loesung
einführen, können wir diesen Programmteil etwa so be-
schreiben:
frage
Ö
Fragentext
loesung
Ö
Lösungstext
antwort
Ö
Eingabe(frage)
Wenn antwort gleich loesung:
Ausgabe: »Richtig!«
Was geschieht aber, wenn nicht die richtige Antwort gegeben wurde? Dann
gibt das Programm die Worte
"Leider falsch!"
aus und dazu die rich-
tige Lösung:
118
Wir erzeugen unsere eigenen Funktionen
Kapitel
4
Wenn antwort nicht gleich loesung:
Ausgabe: »Leider falsch!«
Ausgabe: »Richtig ist:« loesung
Wir haben hier in beiden Fällen dasselbe Muster vor uns: Es wird eine Be-
dingung abgefragt. Wenn diese Bedingung wahr ist, dann werden ein oder
mehrere Anweisungen ausgeführt.
Weil dieses Muster so häufig beim Programmieren gebraucht wird, gibt es
dafür eine spezielle Python-Anweisung: die
if
-Anweisung.
Sie heißt so, weil sie mit dem reservierten Wort
if
eingeleitet wird. Die
Bedingung, die dann folgt, kann viele verschiedene Formen haben. Hier
brauchen wir nur den Vergleich zweier Objekte: Einmal, ob zwei Objekte
(hier: Strings) gleich sind, das andere Mal, ob zwei Objekte ungleich sind.
Diese beiden Vergleiche schreibt man in Python so:
antwort == loesung
beziehungsweise
antwort != loesung
Beides sind so genannte
logische Ausdrücke
. (
==
bedeutet: »ist gleich«;
!=
bedeutet: »ist nicht gleich«).
Was kann bei so einem Vergleich herauskommen? Entweder ergibt der Ver-
gleich wahr, oder er ergibt falsch. Wie geht Python damit um?
Das probieren wir gleich mit dem IPI aus:
>
Mach mit:
>>> loesung = "Python"
>>> antwort = "Python"
>>> antwort == loesung
True
>>> antwort != loesung
False
True
und
False
sind reservierte Wörter. Sie bezeichnen die zwei
Wahrheitswerte: wahr und falsch.
>>> antwort = "Java"
>>> antwort == loesung
False
Falsch,
antwort
und
loesung
sind nicht gleich.

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.