From f8c024b2ec0497cad1fe131f34bb53fb1edec5f4 Mon Sep 17 00:00:00 2001 From: alstergym Date: Tue, 8 Sep 2026 10:14:52 +0200 Subject: [PATCH] Turtle 08.09 --- turtlerekursion.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/turtlerekursion.py b/turtlerekursion.py index c00eca6..98f7f07 100644 --- a/turtlerekursion.py +++ b/turtlerekursion.py @@ -3,7 +3,7 @@ import turtle def draw_square(t, size): for i in range(4): t.forward(size) - t.right(90) + t.left(90) # draw_square(turtle, 100) @@ -29,4 +29,37 @@ def draw_recursive_tree(t, size, größe): t.left(30) t.backward(size) turtle.left(90) -draw_recursive_tree(turtle, 100, 5) \ No newline at end of file +#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() \ No newline at end of file