209
Die Regenbogenfahne
friedensfarben = ("red3", "orange", "yellow",
"seagreen4", "orchid4",
"royalblue1", "dodgerblue4")
Wenn du möchtest, kannst du sie übernehmen. Vielleicht möchtest du dir
lieber eine eigene Farbkombination zusammenstellen.
>
Schreibe diese Anweisung an den Anfang des Programms
peace_arbeit.py
. (An den Anfang heißt immer: unter die
import
-
Anweisung[en].) Natürlich braucht unser Programm die Funktionen
aus
turtle
, aber auch
jump()
aus
mytools
, wie du gleich sehen
wirst.
Die Regenbogenfahne
Als nächstes Teilproblem behandeln wir das Zeichnen
eines
Fahnenstrei-
fens. Der soll eine gewisse Länge, eine gewisse Breite und eine bestimmte
Farbe haben. Daher:
def streifen(laenge, breite, farbe):
pensize(breite)
pencolor(farbe)
forward(laenge)
Füge diese Funktionsdefinition in dein Programm ein. Das ist eigentlich
eine recht vielseitige Funktion. Führe das Programm
peace_arbeit.py
aus, damit die Funktionsdefinition ausgeführt wird. Dann fahre mit dem IPI
fort:
>>> reset()
>>> streifen(100, 20, "red")
>>> reset()
>>> right(90)
>>> streifen(150, 40, "orange")
Jetzt müssen wir immer wieder die Turtle an einen neuen Startpunkt füh-
ren. Da können wir
jump()
gut gebrauchen:
>>> from mytools import jump
>>> reset(); jump(-100)
>>> right(90); jump(-200)
>>> streifen(400,40,"blue")
210
Mehr Schleifen: Friedenslogo, Superrosette
Kapitel
8
Das macht schöne Streifen. Aber zurück müssen wir auch wieder und brau-
chen dabei nicht zu zeichnen:
>>> jump(-400)
>>> jump(40, -90)
>>> streifen(400,40,"green")
Ja, so dürfte es gehen. Wie breit sollen aber unsere Streifen sein? Das Fens-
ter ist 300 Pixel hoch. Also:
>>> 300.0 / 7
42.857142857142854
Machen wir die Streifen sicherheitshalber etwas breiter, sagen wir
44
. Den
Rückwärtssprung schließen wir noch in die Funktion
streifen()
ein. Und
mit dem ersten Streifen beginnen wir drei Streifenbreiten unter der Mitte.
Jetzt können wir die
for
-Schleife ins Spiel bringen! Denn es soll
für
(also
for
) jede Farbe ein Streifen gezeichnet – und dann eine Streifenbreite
nach links gesprungen werden.
Das ergibt folgende Ergänzungen für unseren Code:
streifenbreite = 44
def streifen(laenge, breite, farbe):
pensize(breite)
pencolor(farbe)
forward(laenge)
jump(-laenge)
reset()
jump(-3*streifenbreite)
right(90)
jump(-200)
for farbe in friedensfarben:
streifen(400, streifenbreite, farbe)
jump(streifenbreite, -90)
Funktioniert gut. Nur sollte die Turtle danach wieder in die Fenstermitte
wandern, denn dort ist der Mittelpunkt des Friedenslogos. Dafür gibt es im
Modul
turtle
die Funktion
home()
. Mit dieser Ergänzung wollen wir nun
aus diesen Anweisungen auch eine Funktion machen:
fahne()
.
Die Turtle zeichnet die Fahnenstreifen.

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.