80
Namen
Kapitel
3
Das ist fein! Wir werden mutig und probieren noch:
>>> left(90)
>>> forward(2*seite)
Der IPI kann also beim Zeichnen auch rechnen.
>>> left(90)
>>> forward(seite)
>>> left(90)
>>> forward(2*seite)
Somit haben wir ein Rechteck erhalten. (Sollte irgendwas falsch gelaufen
sein – zum Beispiel die Turtle – denk an
undo()
). Zeichnen wir noch ein
Rechteck, in die andere Richtung:
>>> right(90)
Aber nun wollen wir mit
seite
einen anderen Wert bezeichnen. Außerdem
will ich rot und dicker weiterzeichnen.
>>> seite = 60
>>> pencolor("red")
>>> pensize(7)
… und noch ein Rechteck (benutze
(Alt)
+
(P)
oder
(½)
-Tasten +
(¢)
!):
>>> forward(seite)
>>> left(90)
>>> forward(2*seite)
>>> left(90)
>>> forward(seite)
>>> left(90)
>>> forward(2*seite)
Nun hat dieselbe Anweisungsfolge ein kleineres Rechteck erzeugt.
Wir machen die Dreiecksseite va-
riabel
Diese Technik werden wir jetzt anwenden, um unser letztes Dreieck-
Programm aus Kapitel 2 weiterzuentwickeln.
Zwei Rechtecke mit verschiedenen Werten von
seite
.
81
Wir machen die Dreiecksseite variabel
>
Lade
dreieck_arbeit.py
aus dem Ordner
py4kids\kap02
und
speichere es sofort (mit dem gleichen Namen) in
py4kids\kap03
.
Wir wollen es nun so ändern, dass es eine Grafik mit den drei verschieden
großen Dreiecken erzeugt, wie sie am Anfang dieses Abschnitts abgebildet
ist.
In diesem Programm wird dreimal ein Dreieck gezeichnet.
Dazu wird (unter anderem) neun Mal
forward(135)
aufgerufen. Wir wollen die
135
in den
forward()
-
Aufrufen durch einen Namen,
seite
, ersetzen. Dazu füh-
ren wir zunächst den Namen ein, indem wir ihm den Zah-
lenwert
135
zuweisen. Danach ändern wir die
forward()
-
Anweisungen ab.
>
Füge nach der vierten Anweisung (also vor der Zeile
pencolor("red")
) die neue Zeile
seite = 135
ein!
Als Nächstes müssen wir alle neun Einträge
forward(135)
auf
for-
ward(seite)
abändern. Da hilft uns wieder das Editor-Fenster mit dem
E
DIT
|R
EPLACE
…-Menü. Das geht so:
>
Wähle den Menüpunkt E
DIT
|R
EPLACE
oder drücke
(Strg)
+
(H)
. Es er-
scheint ein »Suchen-Ersetzen-Dialogfenster«:
>
Trage in der Zeile F
IND
:
forward(135)
ein und in der Zeile R
EPLACE
WITH
:
forward(seite)
. Klicke auf die Schaltfläche R
EPLACE
A
LL
.
>
Speichere (
(Strg)
+
(S)
) und führe das Programm aus (
(F5)
)! Das Pro-
gramm sollte korrekt laufen und dieselbe Grafik erzeugen wie das ur-
sprüngliche Programm.
>
Ändere nun in der Anweisung
seite = 135
am Anfang des Pro-
gramms den Wert, der dem Namen
seite
zugewiesen wird, von
135
auf
100
ab!
>
Führe das Programm aus! Du siehst, dass nun alle drei Dreiecke klei-
ner gezeichnet worden sind.
82
Namen
Kapitel
3
>
Wenn du Lust dazu hast, mache dasselbe vielleicht auch noch mit
einem erheblich größeren Wert. Dazu musst du wahrscheinlich auch
das Grafik-Fenster vergrößern, um das ganze Bild sehen zu können.
Setze am Ende den Wert von
seite
wieder auf
135
zurück.
Damit haben wir im Vergleich zu
dreieck02.py
schon eine wichtige Ver-
besserung erreicht: Du kannst jetzt unsere Drei-Dreiecke-Figur in jeder
beliebigen Größe zeichnen lassen, indem du nur einen einzigen Zahlenwert
in dem Programm änderst, nämlich den Zahlenwert, der den Namen
seite
hat.
Wie du schon im IPI gesehen hast, darf man den Wert, auf den ein Name
verweist, innerhalb eines Programms durchaus ändern. Das wollen wir jetzt
auch tun und zwar so, dass die drei Dreiecke verschieden groß gezeichnet
werden.
>
Markiere die Zeile, in der
seite = 135
steht! Kopiere sie in die Zwi-
schenablage (
(Strg)
+
(C)
) und füge sie zwei Mal, jeweils vor der
pen-
color()
-Anweisung des zweiten und dritten Dreiecks ein
(
(Strg)
+
(V)
)!
>
Ändere in der ersten Zuweisung an
seite
den Zahlenwert auf
65
ab
und in der zweiten auf
100
!
>
Sichere das Programm und führe es aus!
Hast du eine Grafik erhalten, die wie die erste Abbildung in diesem Kapitel
aussieht?
>
Speichere eine Kopie des Programms als
dreieck05.py
ab. (Kopf-
kommentar!)
>
Ändere
dreieck_arbeit.py
nun noch so ab, dass es ein Bild wie
dreieck04.py
erzeugt. Speichere dann wieder eine Kopie als
drei-
eck06.py
ab.
Beachte, dass zur Durchführung dieser Aufgabe im Programm (abgesehen
vom Kopfkommentar) nur drei Zeilen geändert werden müssen. Schon dies
zeigt dir, dass die Einführung von Namen sehr praktisch ist. Zum Vergleich
sieh dir nochmals
dreieck03.py
an und überlege, wie viel davon geän-
dert werden muss, um
dreieck04.py
zu erzeugen.

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.