Seite 1 von 1

Simpler Fehler, finde ihn trotzdem nicht

Verfasst: Montag 5. November 2018, 19:51
von tomu78
Hallo!
Ich bin Lehrer, unterrichte fachfremd Informatik und versuche, mit meinen Schülern mit TURTLE ganz simple Sachen zu programmieren. Heute ging es um Buchstaben. Folgendes "A" zeichnet die Turtle, jedoch erscheint ein grüner Strich trotz des Befehls "pen up" zuvor. Weiß jemand Hilfe?

from turtle import *
color('green')
fillcolor('pink')
begin_fill()
speed(5)
fd (30)
rt(60)
fd (30)
lt (60)
fd (30)
lt (120)
fd (120)
lt(60)
fd(20)
lt(60)
fd(120)
lt(120)
fd(30)
lt(60)
fd(30)
rt(60)
fd(25)
lt(90)
pu ()
fd(20)
lt(90)
pd()
fd(20)
rt(120)
fd(30)
rt(60)
fd(10)
rt(60)
fd(30)
rt(120)
fd(30)
end_fill()

Re: Simpler Fehler, finde ihn trotzdem nicht

Verfasst: Montag 5. November 2018, 20:24
von ThomasL
Hmmm, bei erscheint kein grüner Strich im "A", nur wenn ich pu() und pd() auskommentiere

Re: Simpler Fehler, finde ihn trotzdem nicht

Verfasst: Montag 5. November 2018, 20:39
von Sirius3
Ich kann den angeblichen Fehler nicht nachvollziehen. Nur das Füllen funktioniert nicht perfekt, weil die Turtle zu weit läuft.
Mal eine Frage: was ist der pädagogische Nutzen, eine Figur aus 28 Teilen malen zu lassen?
Beim Programmieren sollte man keine kryptischen Abkürzungen benutzen. Schreibe statt lt left, fd forward, pu penup, rt right, usw. dann ist das auch lesbar. Vor einer öffnenden Klammer sollte kein Leerzeichen stehen.

Re: Simpler Fehler, finde ihn trotzdem nicht

Verfasst: Mittwoch 7. November 2018, 12:59
von __blackjack__
Ich habe die Namen mal ersetzt und es durch ein `done()` ergänzt, damit das Fenster nicht gleich wieder verschwindet, und ich kann den Fehler mit der grünen Linie auch nicht nachvollziehen.

Code: Alles auswählen

#!/usr/bi/env python3
from turtle import *

color('green')
fillcolor('pink')
begin_fill()
speed(5)

forward(30)
right(60)
forward(30)
left(60)
forward(30)
left(120)
forward(120)
left(60)
forward(20)
left(60)
forward(120)
left(120)
forward(30)
left(60)
forward(30)
right(60)
forward(25)
left(90)

penup()
forward(20)
left(90)
pendown()

forward(20)
right(120)
forward(30)
right(60)
forward(10)
right(60)
forward(30)
right(120)
forward(30)

end_fill()
done()
Was den pädagogischen Nutzen angeht: Man könnte vielleicht als nächsten Schritt zeigen wie man das ganze in eine kurze Schleife umwandelt, welche die Daten aus einer Datenstruktur bekommt, statt die Daten als Code zu schreiben. :-)