Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:zaehlschleifen

Dies ist eine alte Version des Dokuments!


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:

python/turtle/zaehlschleifen.1651679666.txt.gz · Zuletzt geändert: von lutz