import turtle def draw_square(t, size): for i in range(4): t.forward(size) t.left(90) # draw_square(turtle, 100) def draw_recursive_stairs(t, size, steps): if steps == 0: return t.left(90) t.forward(size) t.right(90) t.forward(size) draw_recursive_stairs(t, size, steps - 1) # draw_recursive_stairs(turtle, 20, 5) def draw_recursive_tree(t, size, größe): if größe == 0: return t.forward(size) t.left(30) draw_recursive_tree(t, size * 0.7, größe - 1) t.right(60) draw_recursive_tree(t, size * 0.7, größe - 1) t.left(30) t.backward(size) turtle.left(90) #draw_recursive_tree(turtle, 100, 5) # Ich möchte einen Code schreiben der erst ein 64 Quadrat zeichnet # und dann rekursiv immer zwei halb so große Quadrate oben links und rechts über das ursprüngliche Quadrat zeichnet. # Bis die Seitenlänge = 1 ist. def draw_recursive_squares(t, length): if length < 1: return draw_square(t, length) # Position des aktuellen Quadrats x = t.xcor() y = t.ycor() # Turtle für oben links left_turtle = t.clone() left_turtle.penup() left_turtle.goto(x - length * 1.5, y + length) left_turtle.pendown() # Turtle für oben rechts right_turtle = t.clone() right_turtle.penup() right_turtle.goto(x + length , y + length) right_turtle.pendown() # Beide Äste rekursiv weiterführen draw_recursive_squares(left_turtle, length / 2) draw_recursive_squares(right_turtle, length / 2) turtle.speed(10) draw_recursive_squares(turtle, 64) turtle.done()