Python Tutorial
- jetzt Python programmieren lernen

Turtle-Modul von Python

Anfangs wurde die Sprache Turtle zum Lernen einer Computersprache für Kinder entwickelt. Eine Schildkröte (Turtle) kann über den Bildschirm bewegt werden. Dabei hinterlässt die Turtle auf ihrer Bewegungsbahn eine Linie. So können Grafiken erstellt werden.

mit Turtle erstellte Grafik
mit Turtle erstellte Grafik

In Python ist ein Turtle-Modul integriert, dass man nach dem Import nutzen kann. Hier eine kleine Einführung und danach setzen wir das Modul zum Zeichnen einer Benutzeroberfläche für ein Spiel ein.

Im ersten Schritt müssen wird das Modul in Python importieren:

import turtle

Bewegen der Schildkröte (turtle) – forward / backward

Jetzt können wir die Turtle bewegen, beispielweise 200 Pixel vorwärts.

import turtle
turtle.forward(200)

Unsere Turtle wird exakt mittig auf dem Ausgabebildschirm platziert. Dort sind die X und Y Koordinaten von 0.

Die Schildkröte schaut nach rechts und mit der Anweisung vorwärts (turtle.forward) bewegt sich um die angegebene Pixelanzahl nach rechts.

unsere Turtle (Schildkröte) wird genau mittig platziert und bewegt sich um 200 Pixel
unsere Turtle (Schildkröte) wird genau mittig platziert und bewegt sich um 200 Pixel

Was sich vorwärts bewegen kann, kann sich auch rückwärts bewegen. Das funktioniert mit der Anweisung turtle.backward

Schildkröte drehen – right / left

Unsere Turtle können wir drehen. Dazu gibt es für die jeweiligen Richtungen die Anweisung:

turtle.right(90)
turtle.left(120)

Stiftfarbe ändern - color

Die Stiftfarbe wird anhand folgender Anweisung festgelegt:

turtle.color('yellow')

Strichstärke ändern - width

Die Strichstärke wird anhand folgender Anweisung festgelegt:

turtle.width(10)

Hintergrundfarbe vom Turtle-Fenster festlegen - bgcolor

Die Hintergrundfarbe vom Turtle-Fenster wird über die folgende Anweisung festgelegt:

turtle.bgcolor('black')

gezeichnetes Element füllen - begin_fill() / end_fill()

Über die 2 Anweisungen turtle.begin_fill() und am Ende die Anweisung turtle.end_fill() wird mit der zuletzt genutzte Farbe die bisherige Figur gefüllt. Dazu muss die Figur nicht vollständig umrandet sein!

gefülltes Dreieck
gefülltes Dreieck

Die gezeigte Grafik wurde durch folgenden Python-Code erstellt:

import turtle 
turtle.bgcolor('black') 
turtle.color('yellow')
turtle.width(10)
turtle.begin_fill()
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.color('orange')
turtle.end_fill()

Kreis bzw. Kreisausschnitt zeichnen - circle

Über die Anweisung turtle.circle() wird ein Kreis gezeichnet. Der erste Wert gibt die Kreisradius ein. Gibt es keinen zweiten Wert, wird ein kompletter Kreis gezeichnet. Gibt es einen zweiten Wert, wird der entsprechende Kreisausschnitt (die Angabe erfolgt in Winkel ohne Maßeinheit).

# Kreis mit 100 Pixel Radius
turtle.circle(100)
# Kreisausschnitt mit 50 Pixel Radius und 90 Grad (sprich ein ¼ Kreis)
turtle.circle(50,90)

Stift an bestimmten Punkt platzieren - goto

Der Stift kann über die Anweisung goto(X,Y) an einen bestimmten Punkt platziert werden.

import turtle
turtle.bgcolor('black') 
turtle.color('yellow')
turtle.circle(100)
turtle.goto(250,250)
turtle.color('orange')
turtle.circle(100)

Allerdings wird ein Strich zwischen dem Endpunkt und dem neuen über goto angesprungenen Anfangspunkt gezeichet. Dies können wir über folgende 2 Befehle up() und down() vermeiden.

Stift abheben und neu aufsetzen (sprich platzieren) – up() / down()

Wollen wir nicht immer einen durchgezogenen Strich erhalten, können wir den Stift abheben turtle.up() und wieder neu aufsetzen mit turtle.down():

turtle.color('yellow')
turtle.circle(100)
turtle.up()
turtle.color('orange')
turtle.forward(150)
turtle.down()
turtle.circle(100)

Anstellte die Turtle über forward zu bewegen, kann auch goto eingesetzt werden.

Aufgabe Olympische Ring mit Turtle zeichnen
Aufgabe Olympische Ring mit Turtle zeichnen

Aufgabe: zeichne die Olympischen Ringe.

Jede Farbe präsentiert einen Kontinent:

  • Blau für Europa,
  • Gelb für Asien,
  • Schwarz für Afrika,
  • Grün für Australien
  • Rot für Amerika.

Und wer es perfekt machen möchte, kann die Verschlungenheit der Ringe korrekt darstellen :)

Text schreiben - write

Text kann über die Anweisung write(text) geschrieben werden.

import turtle
turtle.write('Hallo Welt')

Die Textgröße und Schriftart können festgelegt werden über:

turtle.write("Turtle ist super", font=('Arial', 60, 'normal'))

Auch die Schriftstärke, ob normal oder kursiv und ob unterstrichen:

turtle.write("Turtle ist super", font=('Arial', 60, 'normal', 'bold', 'italic', 'underline'))

Dabei gibt es folgende Parameter:

turtle.write(text, bewegen=False, ausrichtung="left", font=("Arial", 12, "normal"))

Parameters:

  • text – object to be written to the TurtleScreen
  • bewegen – True/False
  • ausrichtung – one of the strings “left”, “center” or right”
  • font – a triple (fontname, fontsize, fonttype)

Bildschirm löschen – clear() / reset()

Der Bildschirm kann gelöscht werden über

turtle.clear()

Soll sowohl der Bildschirm gelöscht werden wie auch alle Variablen zurückgestellt werden, dann hilft reset()

turtle.reset()