Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:zaehlschleifen

Zählschleifen

Das folgende Turtleprogramm zeichnet ein Sechseck:

from turtle import *
 
fd(100)
left(60)
fd(100)
left(60)
fd(100)
left(60)
fd(100)
left(60)
fd(100)
left(60)
fd(100)
left(60)

Wie man sieht, wiederholen sich die Befehle fd(100) und left(60) sechsmal. Sich wiederholende Befehlsfolgen kann man beim Programmieren mit Hilfe von Schleifen ausdrücken. Da wir bei diesem wissen wir genau, dass sich die Befehlsfolge sechsmal wiederholen muss. Deshalb können eine sogenannte Zählschleife verwenden:

from turtle import *
 
for i in [1, 2, 3, 4, 5, 6]:
    fd(100)
    left(60)

In Python setzt man eine Zählschleife mit der for-Anweisung umgesetzt. Nach for steht ein Variablenname und danach das Schlüsselwort in. Nach in steht eine Liste (ein Datentyp, den wir später behandeln). Abgeschlossen wird die Zeile durch einen Doppelpunkt. Nach dem Doppelpunkt wird der Quelltext eingerückt. Alle Befehle die eingerückt werden, gehören zur Schleife. Die Variable nach for nimmt bei jedem Schleifendurchlauf einen Wert aus der Liste an und könnte in der Schleife verwendet werden.

Die Liste kann in der for-Schleife auch durch die range-Anweisung ersetzt werden:

from turtle import *
 
for i in range(6):
    fd(100)
    left(60)

Die \lstinline+range+-Anweisung erwartet 3 Parametern vom Typ int:

range(startwert, endwert ,schrittweite)

startwert und schrittweite können weggelassen werden. Es wird dann angenommen, dass der Startwert den Wert 0 hat und die Schrittweite den Wert 1 hat. Fehlt nur ein Parameter, so wird angenommen, dass die Schrittweite fehlt.

Im Zusammenhang mit for wird das Konstrukt nun wie folgt benutzt:

for i in range(startwert, endwert, schrittweite):
    ...anweisungen...

Beispiele:

for i in range(1,5,2) #2 Durchläufe i=1,3
for i in range(1,6) #5 Durchläufe i=1,2,3,4,5
for i in range(3) #3 Durchläufe i=0,1,2

Weitere Informationen zu Zählschleifen findet man hier:

Aufgabe 14

Teste die Beispielprogrammme!

Aufgabe 15

Das folgende Programm zählt bis 10.

from turtle import *
 
for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(i)

Formuliere es um, dass es mit der range-Anweisung funktioniert!

Aufgabe 16

Zeichne die folgenden Figuren mit einer Zählschleife mit Liste!

a)

b)

c)

d)

Aufgabe 17

Zeichne die folgende Treppe mit 100 Stufen mit Hilfe der range-Anweisung!

python/turtle/zaehlschleifen.txt · Zuletzt geändert: 2022/05/11 07:16 von lutz