Skip to content

Turtle

Programmieren mit Python

Wir können mit der Python-Turtle arbeiten, ohne explizit ein Turtle-Objekt zu erstellen:

python
import turtle

turtle.left(30)
turtle.forward(200)

turtle.done()

Über das Turtle-Modul haben wir Zugriff auf eine sogenannte globale Turtle. Dabei handelt es sich aber trotzdem um ein Objekt. Nur wurde es automatisch erzeugt. Auch kann es nur eine einzige solche globale Turtle geben – also besser: man erzeugt die Turtle explizit und gibt ihr auch einen Namen!

benannte Turtle

Wir generieren die Turtle also explizit und geben ihr einen Namen:

python
import turtle

jake = turtle.Turtle()
jake.left(30)
jake.forward(200)

turtle.done()
Zeile 3
Wir erzeugen explizit ein Objekt der Klasse Turtle
Zeile 7
mit turtle.done() zeigen wir dem System, dass die Turtle-Zeichnung beendet ist und die Grafik nicht mehr aktualisiert werden muss. Dieser Befehl ist keine Fähigkeit der Turtle, sondern gehört zum Fenster worin sich die Turtle bewegt.

mehrere Turtles

So lassen sich nun mehrere Turtles erzeugen. Man kann sie durch ihre unterschiedlichen Namen unterscheiden. Sie bewegen sich unabhängig und können auch unterschiedliche Eigenschaften (z.B. Farbe) haben:

python
import turtle

jake = turtle.Turtle()
jake.color("lightblue")

cindy = turtle.Turtle()
cindy.color("violet")

cindy.left(30)
jake.right(30)
cindy.forward(200)
jake.forward(200)

turtle.done()
Zeilen 4 und 6
Wir setzen unterschiedliche Farben, so dass wir erkennen welche Turtle was zeichnet.

Dokumentation

👉 https://docs.python.org/3/library/turtle.html

Aufgaben

Aufgabe: Synchrontanz

Erstelle zwei Turtles und setze diese auf unterschiedliche Farben.
Lasse sie anschliessend «synchron-gespiegelt» etwas auf den Bildschirm zeichnen.
(also wenn die eine Turtle sich nach rechts dreht, dreht sich die andere gleich viel nach links)

Zusatzaufgabe: Synchrontanz zu viert

Schaffst du das auch mit vier Turtles?
So dass diese an der horizontalen und der vertikalen Achse gespiegelt werden.

Gymnasium Kirchenfeld, fts & lem