Ratgeber zu Python Editor
Python Turtle: 5 Beispiele für den Einstieg
Das Modul turtle ist einer der freundlichsten Wege ins Programmieren. Du gibst einer kleinen Schildkröte Befehle – vorwärts, links drehen, Farbe wechseln –, und sie zieht überall, wo sie hinläuft, eine Linie. Schleifen, Funktionen und sogar Rekursion werden plötzlich sichtbar.
Hier sind fünf kurze Programme, vom einfachen Quadrat bis zum rekursiven Baum. Jedes läuft so, wie es dasteht, und jedes bringt dir eine neue Idee bei.
Die wichtigsten Befehle
Alle Beispiele nutzen dieselben paar Befehle. Die Schildkröte startet in der Mitte und schaut nach rechts. Strecken sind in Pixeln, Winkel in Grad.
- forward(distance) und backward(distance) – laufen und zeichnen
- left(angle) und right(angle) – auf der Stelle drehen
- penup() und pendown() – Zeichnen aus- und einschalten
- color(), pencolor() und pensize() – Aussehen der Linien ändern
- speed(0) – so schnell wie möglich zeichnen
- turtle.done() – die Zeichnung abschließen
Beispiel 1: ein Quadrat
Ein Quadrat besteht aus vier gleichen Seiten mit einer 90-Grad-Drehung nach jeder. Statt forward und left viermal zu schreiben, wiederholt eine for-Schleife sie. Der Unterstrich ist ein üblicher Name für eine Schleifenvariable, die du nicht brauchst.
import turtle
t = turtle.Turtle()
t.pensize(3)
t.color("royalblue")
for _ in range(4):
t.forward(150)
t.left(90)
turtle.done()Beispiel 2: ein gefüllter Stern
Für einen fünfzackigen Stern dreht sich die Schildkröte an jeder Spitze um 144 Grad. Nach fünf Drehungen sind das insgesamt 720 Grad – zweimal herum –, und sie ist wieder am Start. color() mit zwei Werten setzt Linien- und Füllfarbe; alles zwischen begin_fill() und end_fill() wird ausgefüllt.
import turtle
t = turtle.Turtle()
t.color("orange", "gold")
t.begin_fill()
for _ in range(5):
t.forward(200)
t.right(144)
t.end_fill()
turtle.done()Beispiel 3: eine bunte Spirale
Hier wird die Linie mit jedem Schritt länger, weil die Strecke vom Schleifenzähler i abhängt. Durch die Drehung um 59 statt 60 Grad wandert die Sechseckform mit jeder Runde ein Stück weiter – so entsteht die Spirale. i % 6 wählt reihum die nächste der sechs Farben.
import turtle
t = turtle.Turtle()
t.speed(0)
colors = ["red", "orange", "gold", "green", "blue", "purple"]
for i in range(120):
t.pencolor(colors[i % 6])
t.forward(i * 2)
t.left(59)
turtle.done()Beispiel 4: ein Ring aus Kreisen
circle(80) zeichnet einen Kreis mit 80 Pixeln Radius, ausgehend von der Position der Schildkröte. Die Drehung um 360 geteilt durch die Anzahl der Farben verteilt die Kreise gleichmäßig um die Mitte. Ergänzt du weitere Farben in der Liste, passt sich das Muster von selbst an.
import turtle
t = turtle.Turtle()
t.speed(0)
t.pensize(2)
colors = ["red", "orange", "gold", "green", "blue", "purple"]
for color in colors:
t.color(color)
t.circle(80)
t.left(360 / len(colors))
turtle.done()Beispiel 5: ein Baum mit Rekursion
Ein Baum ist ein Ast mit zwei kleineren Bäumen darauf. Dieser Satz ist schon die ganze Idee der Rekursion: Die Funktion tree() ruft sich für jeden kleineren Ast selbst auf, bis depth bei 0 ankommt. Wichtig ist das Ende der Funktion: Nach beiden Unterästen dreht die Schildkröte zurück und läuft rückwärts, sodass sie genau dort endet, wo sie angefangen hat. Ohne das landen die Äste an den falschen Stellen.
Ändere den Winkel von 25 Grad, den Faktor 0.7 oder die Tiefe – kleine Änderungen ergeben ganz andere Bäume. Bleib bei der Tiefe maßvoll: Jede weitere Ebene verdoppelt die Zahl der Äste.
import turtle
t = turtle.Turtle()
t.speed(0)
t.left(90)
t.penup()
t.goto(0, -200)
t.pendown()
t.color("saddlebrown")
def tree(length, depth):
if depth == 0:
return
t.pensize(depth)
t.forward(length)
t.left(25)
tree(length * 0.7, depth - 1)
t.right(50)
tree(length * 0.7, depth - 1)
t.left(25)
t.backward(length)
tree(120, 7)
turtle.done()Ideen zum Weitermachen
Wenn diese Beispiele laufen, ändere jeweils eine Sache und überleg vor dem Ausführen, was passieren wird. Genau diese Gewohnheit macht aus Abschreiben Verstehen.
- Mach aus dem Quadrat eine Funktion square(size) und zeichne mehrere Größen.
- Frag die Zahl der Sternzacken mit input() ab – eine ungerade Zahl n klappt mit dem Winkel 180 - 180 / n.
- Zeichne ein Haus aus einem Quadrat und einem Dreieck.
- Setz mit penup() und goto(x, y) mehrere Zeichnungen nebeneinander.
Häufige Fehler
Die meisten Turtle-Probleme gehen auf ein paar Klassiker zurück. Sieht eine Zeichnung falsch aus, prüf zuerst diese.
- Die eigene Datei turtle.py nennen: Dann importiert Python deine Datei statt des Moduls, und turtle.Turtle gibt es nicht mehr. Wähl einen anderen Namen.
- pendown() nach penup() vergessen: Die Schildkröte läuft, zeichnet aber nichts.
- left und right verwechselt: Die Form wird gespiegelt oder schließt sich nie.
- Winkel, die nicht aufgehen: Eine geschlossene Form braucht Drehungen, die zusammen ein Vielfaches von 360 Grad ergeben.
Turtle auf iPhone und iPad
Am Computer öffnet turtle ein eigenes Fenster. Auf iPhone oder iPad brauchst du eine App, die das Modul unterstützt. Python Editor kann das: Du siehst der Schildkröte zu, wie sie Sterne, Spiralen und Häuser zeichnet – wie im Informatikunterricht und auch offline. Unter den 20 mitgelieferten Beispielen ist auch eine bunte Spirale, die du öffnen und verändern kannst.
Häufige Fragen
Warum schließt sich das Turtle-Fenster am Computer sofort?
Wenn das Programm endet, kann das Fenster mit ihm verschwinden. turtle.done() am Ende hält es offen, bis du es selbst schließt.
Wie zeichnet die Schildkröte schneller?
Ruf vor dem Zeichnen speed(0) auf. Werte von 1 bis 10 reichen von langsam bis schnell; 0 heißt so schnell wie möglich.
Kann ich Python Turtle auf dem iPad nutzen?
Ja, mit einer App, die das Modul turtle unterstützt. In Python Editor zeichnet die Schildkröte direkt auf dem Gerät, auch offline.