Hier sind die 12 häufigsten Fehler beim Programmieren mit der Turtle. Lies sie durch — wer einen Fehler kennt, findet ihn im eigenen Programm viel schneller.
Die 12 häufigsten Fehler
1Die Drehung ist nicht eingerückt
So wird es oft gemacht: Die Zeile left(90) steht nach der Schleife ohne Einrückung — die Turtle läuft viermal geradeaus
Richtig ist: left(90) genauso weit einrücken wie forward(50) — dann entsteht das Quadrat.
Zur Schleife gehört nur, was eingerückt ist.
2Beim Dreieck wird um 60° gedreht
So wird es oft gemacht: left(60) an jeder Ecke, weil ein gleichseitiges Dreieck 60°-Winkel hat
Richtig ist: left(120) — die Turtle dreht um den Außenwinkel 360° : 3.
Die Turtle dreht um 360° : n, nicht um den Innenwinkel.
3goto zieht einen ungewollten Strich
So wird es oft gemacht: goto(60, 40) bei gesenktem Stift, um woanders weiterzuzeichnen
Richtig ist: penup(), dann goto(60, 40), dann pendown().
Springen heißt: Stift hoch — springen — Stift runter.
4range(5) zählt bis 5
So wird es oft gemacht: for i in range(5): liefert angeblich 1, 2, 3, 4, 5
Richtig ist: range(5) liefert 0, 1, 2, 3, 4 — fünf Werte, aber ohne die 5. Von 1 bis 5 zählt range(1, 6).
Die obere Grenze von range gehört nie dazu.
5Der Doppelpunkt fehlt
So wird es oft gemacht: for i in range(4) oder def haus() ohne Doppelpunkt
Richtig ist: for i in range(4): — nach for, def, if und else steht immer ein Doppelpunkt.
Kein Block ohne Doppelpunkt.
6Im if steht nur ein Gleichheitszeichen
So wird es oft gemacht: if w = 1: — Python meldet einen Syntaxfehler
Richtig ist: if w == 1: — == vergleicht, = speichert.
Ein = gibt, zwei == fragen.
7Die Funktion wird nie aufgerufen
So wird es oft gemacht: Nur def haus(): mit Block geschrieben — beim Start passiert nichts
Richtig ist: Nach der Definition haus() aufrufen — erst dann zeichnet die Turtle.
def baut den Baustein, erst der Aufruf benutzt ihn.
8Die Eingabe wird als Zahl benutzt
So wird es oft gemacht: n = input("Ecken?") und danach range(n) — Fehlermeldung
Richtig ist: n = int(input("Ecken?")) — int() macht aus dem Text eine Zahl.
input gibt Text, int macht eine Zahl daraus.
9Die Fläche bleibt leer
So wird es oft gemacht: begin_fill(), dann die Figur — aber kein end_fill()
Richtig ist: Nach der Figur end_fill() schreiben — erst dann wird gefüllt.
begin_fill und end_fill gehören immer zusammen.
10Die Farbe steht ohne Anführungszeichen
So wird es oft gemacht: pencolor(red) — Python sucht eine Variable namens red
Richtig ist: pencolor("red") — Farbnamen sind Text und brauchen Anführungszeichen.
Farben stehen in Anführungszeichen.
11left und setheading werden verwechselt
So wird es oft gemacht: Nach left(90) und noch einmal left(90) soll die Turtle nach oben schauen
Richtig ist: Sie schaut nach links (180°). Wer sicher nach oben will, schreibt setheading(90).
left dreht weiter, setheading stellt ein.
12Befehle werden großgeschrieben
So wird es oft gemacht: Forward(50) oder PenUp() — Python kennt diese Namen nicht
Richtig ist: forward(50), penup() — alle Turtle-Befehle werden kleingeschrieben.
Python unterscheidet groß und klein.
