Zum Hauptinhalt springen
25h

3. Wiederholung 🔁

In der Aufgabe 8 haben Sie eine Treppe gezeichnet. Ihr Programm sieht vermutlich etwa wie folgt aus:

from turtle import *

left(90)
forward(17)
right(90)
forward(29)
left(90)
forward(17)
right(90)
forward(29)
left(90)
forward(17)
right(90)
forward(29)
left(90)
forward(17)
right(90)
forward(29)
left(90)
forward(17)
right(90)
forward(29)
Was stellen Sie beim Treppen-Programm fest?
  • Das Programm ist lang

  • man sieht nicht auf einen Blick,

    • wie viele Stufen die Treppe hat

    • ob alle Stufen gleich breit und hoch sind

  • Um die Stufenbreite oder die Stufenhöhe anzupassen, müssen viele Zeilen verändert werden

  • Es kommt immer wieder dieselbe Sequenz vor:

    left(90)
    forward(17)
    right(90)
    forward(29)
  • wir sind zu faul, um immer wieder dieselbe Sequenz aufzuschreiben (oder zu Copy&Pasten)

Wiederholen von Sequenzen

Ein Algorithmus kann Sequenzen wiederholt ausführen. In Python wird die zu wiederholende Sequenz Codeblock genannt.

from turtle import *

for i in range(5):
left(90)
forward(17)
right(90)
forward(29)
5 mal wiederholen:
90° nach links
17 Schritte vorwärts
90° nach rechts
29 Schritte vorwärts
Definition

for i in range(n):

Mit for i in range(n): wird eine wiederholte Ausführung vorbereitet. Der nachfolgende Codeblock wird n Mal wiederholt, bevor weitere Anweisungen ausgeführt werden. Alles, was wiederholt werden soll, muss eingerückt sein.

Beispiel

from turtle import *
for i in range(4):
forward(50)
left(90)
Struktogramm → Python

Übersetzen Sie das Struktogramm in ein Python Programm. Was entsteht?

wiederholung.py
from turtle import *


9 mal wiederholen:
100 Schritte vorwärts
160° nach links
Turtle verstecken
SSR
1. Python → Struktogramm

Zeichnen Sie für folgendes Programm ein Struktogramm auf ein Blatt Papier. Fotografieren Sie es im Anschluss und halten Sie es im untenstehenden Textfeld fest.

from turtle import *

forward(30)
left(60)

for i in range(5):
forward(100)
left(72)
backward(20)
SSR
2. Python → Struktogramm

Zeichnen Sie auch für folgendes Programm ein Struktogramm und halten Sie dieses fest.

from turtle import *

for i in range(5):
left(72)
for i in range(4):
forward(20)
left(90)
forward(100)
SSR
3. Treppe vol. 2

Zeichnen Sie eine Treppe mit 20 Stufen. Die Treppe soll bei den Koordinaten (-200, -200) starten. Wählen Sie die Stufen-Breiten so, dass der verfügbare Platz möglichst gut ausgenutzt wird.

treppe2.py
from turtle import *

Hinweis

Verwenden Sie den Befehl goto(x, y) um die Turtle bei -200, -200 zu positionieren.

SSR
4. Schneestern

Zeichnen Sie einen Stern und gehen Sie wie folgt vor:

  1. Untersuchen Sie den Stern und identifizieren Sie die wiederholten Sequenzen.

  2. Programmieren Sie eine einzelne Sequenz. Die Knacknuss ist, dass am Ende der Sequenz die Turtle so ausgerichtet ist, dass man mit der Wiederholung beginnen könnte

  3. Programmieren Sie die Wiederholung

schneestern.py
from turtle import *

SSR
5. Weihnachtsstern
  1. Zeichnen Sie einen Weihnachtsstern mit den Drehwinkeln 140° und 80°.

  2. Füllen Sie den Stern mit Ihrer Lieblingsfarbe. Schauen Sie sich dazu den Abschnitt "Füllen" unter 👉 Turtle Befehle an.

weihnachtsstern.py
from turtle import *

SSR
6. Quadrate
  1. Zeichnen Sie folgende Leiter.

  2. Können Sie das Programm mit noch weniger Zeilen Code schreiben?

  3. Schaffen Sie es, nur 6 Zeilen Code zu verwenden?

leiter.py
from turtle import *

SSR
7. Perlenkette

Zeichnen Sie eine Perlenkette in Ihrer Lieblingsfarbe, die aus 18 Perlen (dots) besteht.

perlenkette.py
from turtle import *

Hinweis
  • Die Turtle muss nach 18 Drehungen wieder nach rechts schauen (hat sich also insgesamt um 360° gedreht) - pro Drehung also xxx Grad

  • Python kann auch rechnen 😋 - lassen Sie die Drehung von Python berechnen. Beispiel: left(360 / 4) ist dasselbe wie left(90)

SSR
8. Vogel

Zeichnen Sie einen Vogel, indem Sie mehrmals nacheinander folgende Befehle wiederholen:

forward(2)
right(3)
vogel.py
from turtle import *

SSR