Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:zaehlschleifen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:turtle:zaehlschleifen [2022/05/04 17:28] lutzpython:turtle:zaehlschleifen [2022/05/11 07:16] (aktuell) lutz
Zeile 18: Zeile 18:
 left(60) left(60)
 </code> </code>
 +
 +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:
 +
 +<code python>
 +from turtle import *
 +
 +for i in [1, 2, 3, 4, 5, 6]:
 +    fd(100)
 +    left(60)
 +</code>
 +
 +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:
 +
 +<code python>
 +from turtle import *
 +
 +for i in range(6):
 +    fd(100)
 +    left(60)
 +</code>
 +
 +Die \lstinline+range+-Anweisung erwartet 3 Parametern vom Typ ''%%int%%'':
 +
 +<code python>
 +range(startwert, endwert ,schrittweite)
 +</code>
 +
 +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:
 +
 +<code python>
 +for i in range(startwert, endwert, schrittweite):
 +    ...anweisungen...
 +</code>
 +
 +**Beispiele:**
 +
 +<code python>
 +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
 +</code>
 +
 +
 +Weitere Informationen zu Zählschleifen findet man hier:
 +
 +  * [[python:zaehlschleifen|Zählschleifen]]
 +
 +
 +**Aufgabe 14**
 +
 +Teste die Beispielprogrammme!
 +
 +**Aufgabe 15**
 +
 +Das folgende Programm zählt bis 10.
 +
 +<code python>
 +from turtle import *
 +
 +for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
 +    print(i)
 +</code>
 +
 +Formuliere es um, dass es mit der ''%%range%%''-Anweisung funktioniert!
 +
 +**Aufgabe 16**
 +
 +Zeichne die folgenden Figuren mit einer Zählschleife mit Liste!
 +
 +a)
 +
 +{{:python:turtle:turtle010.png?400|}}
 +
 +b)
 +
 +{{:python:turtle:turtle011.png?400|}}
 +
 +c)
 +
 +{{:python:turtle:turtle012.png?400|}}
 +
 +d)
 +
 +{{:python:turtle:turtle013.png?400|}}
 +
 +**Aufgabe 17**
 +
 +Zeichne die folgende Treppe mit 100 Stufen mit Hilfe der ''%%range%%''-Anweisung!
 +
 +{{:python:turtle:turtle014.png?400|}}
python/turtle/zaehlschleifen.1651678106.txt.gz · Zuletzt geändert: von lutz