Mein Ziel ist es, mit der Python-Schildkröte einen binären Baum zu zeichnen, in dem Sinne, dass jede Linie in 2 verzweigt, und jeder dieser Zweige in zwei usw. von links nach rechts geht, sieht aus wie , außer von links nach rechts horizontal. Hier ist, was ich bis jetzt habe, und es funktioniert, aber wenn Sie es ausführen, erkennen Sie schnell, dass es in vielerlei Hinsicht vermasselt ist.Python Turtle Rekursiver binärer Baum
def tree(d,x1,y1):
#d is the depth
if d==0: #base case
return 0
a = t.Turtle()
b = t.Turtle()
t.penup()
a.goto(x1,y1)
b.goto(x1,y1) # move to the correct position
t.pendown()
a.left(30)
b.right(30)
a.forward(50)
b.forward(50)
ax,ay = a.pos() #get position of new turtles
bx,by = b.pos()
input() # Debug (PRESS ENTER FOR EACH LOOP)
tree(d-1,ax,ay) #recurse top branch
tree(d-1,bx,by) #recurse bottom branch
tree(3,0,0)
Kann mir jemand sagen, was los ist und wie kann ich es beheben? Ich kann sagen, dass sich die Winkel ändern müssen, aber ich weiß nicht, was ich tun soll.
Was meinen Sie mit "von links nach rechts horizontal"? Meinst du, du willst deine Grafik erzeugen, aber um 90 Grad nach links gedreht? Wenn ja, warum benutzt du keinen Grafikeditor und zeigst uns ein gedrehtes Diagramm, damit wir sehen, was du willst? Wenn Sie keinen solchen Editor haben, möchten Sie, dass wir das für Sie tun? –
Hier! Ich habe versucht mein Bestes mit Farbe und es sieht schrecklich aus, aber ich denke, Sie sollten die Idee bekommen! [Hier] (http://imgur.com/Pwg3Dkl) – notcompletelyrational