106
Wir erzeugen unsere eigenen Funktionen
Kapitel
4
left(120)
seite = seite + aenderung
color("blue", "yellow")
begin_fill()
forward(seite)
left(120)
forward(seite)
left(120)
forward(seite)
left(120)
end_fill()
left(120)
hideturtle()
An diesem Code wird dir auffallen, dass darin jene sechs Zeilen, die ein
gleichseitiges Dreieck zeichnen, dreimal vorkommen.
Im Direktmodus Funktionen
definieren
In Python kannst du eine Folge von Anweisungen zu einer so genannten
Funktion zusammenfassen. Wir verwenden weiter den IPI, um zu sehen, wie
man das macht und warum das nützlich ist.
>
Mach mit (
turtle
ist schon importiert)!
>>> showturtle(); clear(); home()
>>> seite = 135
>>> right(90)
>
Nun kommt etwas ganz Neues, nämlich die Definition einer Funktion.
Wir denken uns für sie einen Namen aus: Nahe liegend ist der Name
dreieck
. Tippe nun Folgendes ein und achte dabei auf zwei Dinge:
1. Die erste Zeile der Funktionsdefinition muss mit
einem Paar runder
Klammern und einem Doppelpunkt
abgeschlossen werden. Diese Zeile
nennt man den Kopf der Funktionsdefinition.
2. Die übrigen sechs Zeilen der Funktionsdefinition müssen alle um gleich
viele Stellen nach rechts eingerückt werden und stehen dann schön
aufgereiht untereinander. Der IPI macht das ganz automatisch für dich
– du darfst nur nichts an dieser Einrückung ändern. Diese Folge von
sechs Anweisungen nennt man den Körper der Funktionsdefinition.
107
Im Direktmodus Funktionen definieren
>>> def dreieck():
forward(seite)
left(120)
forward(seite)
left(120)
forward(seite)
left(120)
>>>
Nach der letzten Zeile drückst du einfach nochmals auf
(¢)
– und diesmal
passiert, wenn du keinen Tippfehler im Funktionstext gemacht hast, unge-
wohnterweise nichts. Es erscheint nur unser bekanntes Bereitschaftszei-
chen für die Eingabe.
Wie sollen wir das verstehen! So viel Mühe und dann nichts!
>
Gib doch einmal ein:
>>> dreieck()
Na bitte! Das Turtle-Grafik-Fenster geht auf und die Turtle zeichnet uns ein
Dreieck! Wenn das kein Erfolg ist! Wir probieren gleich weiter aus:
>>> left(120)
>>> seite=100
>>> dreieck()
>>> left(120)
>>> seite=65
>>> dreieck()
Es gibt jetzt also eine neue Funktion:
dreieck()
.
>>> dreieck
<function dreieck at 0x00ADFB10>
>>>
Beachte hier den Unterschied von
dreieck()
und
dreieck
.
dreieck()
ist ein
Aufruf
der Funktion
dreieck
. Darauf antwortet der
IPI mit der Ausführung der Funktion.
dreieck
ist das gewöhnliche Anschreiben eines Namens. Darauf ant-
wortet der IPI – wie immer – mit der Ausgabe einer Beschreibung des
Objekts, auf das der Name verweist. Hier ist dieses Objekt eben unsere
neu definierte Funktion.

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.