Python: Turtle
Inhaltsverzeichnis
Allgemeines
Zeichenmethoden
- hideturtle()
- showturtle()
- forward(x) # x = Pixel
- backward(x) # x = Pixel
- left(x) # x = Winkel
- right(x) # x = Winkel
- pensize(x)
- dot(x) # Punkt(Durchmesser)
- color(x) oder color(x,y) # Zeichenfarbe, Füllfarbe (pencolor + fillcolor) [1]
- begin_fill(), end_fill()
- penup(), up()
- pendown(), down()
- setpos(x,y)
- goto(x,y)
- shape(x # Vordefinierte Werte: arrow, turtle, circle, square, triangle, classic
- speed(x) # 1 = langsam, 6 = normal, 10 = schnell
- setheading(turtle.towards(x,y)) # Marschrichtung auf einen definierten Punkt zu, setheading(0) = Ausrichtung nach rechts, wie beim Start.
- write() # Beispiel: write("Python macht schön!", True, "center", font = ("Arial", 14, "bold"))
- exitonclick() : Das Fenster mit der fertigen Grafik schließt auf Mausklick.
Screen-Methoden
Mit diesen Methoden wird der Hintergrund für Turtle definiert.
- title("x") # Titel des Fensters
- setup(x,y) # Stellt Breite und Höhe ein.
- bgcolor('color') # Stellt die Hintergrundfarbe ein.
- bgpic(x.gif) # Definiert Hintergrundbild (nur gif).
- addshape(x.gif) # Fügt benutzerdefinierte Shapes für die Turtle hinzu.
- numinput(x,y) # Eingabefenster für Längenangabe: x = Bezeichnung des Fensters ("Länge in Pixel"), y = Eingabeaufforderung ("Länge: ")
Beispiel:
import turtle
ninja = turtle.Turtle()
hintergrund = turtle.Screen()
ninja.pensize(20)
ninja.shape("classic")
hintergrund.bgpic("/home/pfad/Bilder/hintergrundbild.gif")
Eigenes Bild für die Turtle definieren
Es werden nur gif akzeptiert. Online-Konvertierung auf
Alternativ können zur Konvertierung die Programme GIMP, Inkscape oder Converseen verwendet werden.
import turtle
hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen
hintergrund.addshape("/pfad/ninja.gif") # Neue Form (shape) definieren
ninja = turtle.Turtle()
ninja.shape("/pfad/ninja.gif")
Farben
turtle.color(rot,grün,blau)
- Rot
(1,0,0) - Grün
(0,1,0) - Blau
(0,0,1) - Gelb
(1,1,0) - Cyan
(0,1,1) - Schwarz
(0,0,0) - Weiß
(1,1,1) - Gold
(0.9,0.75,0) - Hellrosa
(1,0.7,0.75) - Orange
(1,0.5,0) - Orange
(0.9,0.5,0.15)
The X11 Color Set:
Liste gültiger Farbnamen:
Beispiele
n-Eck zeichnen
- Winkel: 360 / Anzahl der Ecken
- Schrittweite: 600 / Anzahl der Ecken
import turtle
"""Ich taufe die Schildkröte "elsa"."""
elsa = turtle.Pen()
weite = 10
elsa.speed(1)
elsa.hideturtle()
ecken = eval(input("Wie viele Ecken? "))
for i in range(ecken):
elsa.forward(600 / ecken)
elsa.right(360 / ecken)
Koordinatenkreuz
import turtle elsa = turtle.Pen() elsa.hideturtle() elsa.setpos(-400,0) elsa.goto(400,0) elsa.up() elsa.setpos(0,-300) elsa.down() elsa.goto(0,300) elsa.up()
Sterne
import turtle as t
def stern(laenge, zacken):
grad = 360 / zacken
for x in range(0, zacken):
t.forward(laenge)
t.left(180 - grad)
t.forward(laenge)
t.right(180 - grad * 2)
stern(100,19)
Quellen
- https://www.tutorialspoint.com/turtle-programming-in-python
Troubleshooting
circular import
Fehlermeldung: "AttributeError: partially initialized module 'turtle' has no attribute xy (most likely due to a circular import)"
Ursache: Datei darf nicht turtle.py heißen
| |