2. Wiederholungen 🔁
In der 👉 Aufgabe 7 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)
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)
Aufgaben
Übersetzen Sie das Struktogramm in ein Python Programm. Was entsteht?
from turtle import *
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)
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)
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.
from turtle import *
Hinweis
Verwenden Sie den Befehl 👉 goto(x, y)
um die Turtle bei -200, -200
zu positionieren.
Zeichnen Sie einen Stern und gehen Sie wie folgt vor:
- Untersuchen Sie den Stern und identifizieren Sie die wiederholten Sequenzen.
- 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
- Programmieren Sie die Wiederholung
from turtle import *
- Zeichnen Sie einen Weihnachtsstern mit den Drehwinkeln
140°
und80°
. - Füllen Sie den Stern mit Ihrer Lieblingsfarbe. Schauen Sie sich dazu den Abschnitt "Füllen" unter 👉 Turtle Befehle an.
from turtle import *
- Zeichnen Sie folgende Leiter.
- Können Sie das Programm mit noch weniger Zeilen Code schreiben?
- Schaffen Sie es, nur 6 Zeilen Code zu verwenden?
from turtle import *
Zeichnen Sie eine Perlenkette in Ihrer Lieblingsfarbe, die aus 18
Perlen (dots) besteht.
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 wieleft(90)
Zeichnen Sie einen Vogel, indem Sie mehrmals nacheinander folgende Befehle wiederholen:
forward(2)
right(3)
from turtle import *
Erstellen Sie folgenden Stern. Überlegen Sie sich, wie er aufgebaut ist und wie Sie ihn mit möglichst wenig Code zeichnen können.
from turtle import *
Hinweis
Der Stern besteht aus 20 Quadraten