Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03654.jsonl.gz/1666

|Python Online|
|Home .|
DU LERNST HIER...
dass du eine oder mehrere Programmzeilen zu einem Programmblock zusammenfassen und ihn dann eine bestimmte Anzahl mal wiederholt durchlaufen kannst. Dadurch ersparst du dir viel Schreibarbeit und das Programm wird übersichtlicher.
MUSTERBEISPIEL

Die Wiederholung wird mit repeat 4: eingeleitet. Dabei ist der Doppelpunkt sehr wichtig. Vergisst du ihn, so ergibt sich bei der Programmausführung eine Fehlermeldung: Doppelpunkt ':' fehlt.
Die Befehle im nachfolgenden Programmblock musst du alle gleichweit einrücken. Du verwendest dazu immer 4 Leerschläge, du kannst aber auch die Tabulator-Taste brauchen, um sie zu erzeugen. Man spricht bei der Wiederholstruktur auch vom Durchlaufen einer Schleife.
ZUM SELBST LÖSEN
|1.||

Experimentiere mit dem Programm aus dem Musterbeispiel. Ändere die Anzahl Wiederholungen und den Drehwinkel so, dass die Turtle die folgenden Figuren zeichnet.
|2.||Zeichne eine Treppe mit 7 Stufen.|
|3.||

Zeichne die nebenstehende Figur. Dazu brauchst du auch die Befehle back() und dot(), Stiftfarbe "blue" und Turtlefarbe "cyan".
|4.||

Zeichne eine Perlenkette, die aus 18 Perlen (dots) besteht. Zwischen den Perlen muss die Turtle jeweils einige Schritte vorwärts gehen und um einen kleinen Winkel (z.B. 20°) nach links drehen.
|5.||

Nach einer Idee von Joshua Goldstein ergeben sich hübsche Bilder, wenn die Turtle wiederholt forward-right-Befehlspaare ausführt. Zeichne die Grafiken mit
a) forward(300) , right(151) und 92 Wiederholungen
b) forward(300), right(159.72) und 63 Wiederholungen.
c) Suche über eine Internet-Suchmaschine mit den Stichworten goldstein turtle den Artikel von J. Goldstein und erstelle einige weitere von dort inspirierten Bilder (auch mit mehreren forward-right-Paaren).

ZUSATZSTOFF: VERSCHACHTELTE SCHLEIFEN

Richtig spannend und anspruchsvoll wird es, wenn du zwei repeat-Strukturen ineinander verschachtelst. Du musst dann immer denken, dass zuerst die "innere", weiter eingerückte Wiederholstruktur durchlaufen wird, bevor sich die "äussere", weniger eingerückte Struktur wiederholt.

ZUM SELBST LÖSEN
|6.||

Versuche zuerst auf einem Blatt Papier herauszufinden, was das folgende Programm zeichnet. Lass es dann laufen, um deine Vermutung zu bestätigen.
from gturtle import * makeTurtle() repeat 5: repeat 4: forward(100) right(90) left(36)
Hier wird zum erstemal eine Programmstruktur, nämlich die Wiederholstruktur eingeführt, die zu den wichtigsten Mitteln der strukturierten Programmierung gehört. Von jetzt an wird immer darauf geachtet, dass das Wiederholen von Aktionen nicht durch Kopieren und Einfügen von gleichen Programmzeilen, sondern durch eine modulare Programmstrukturierung erreicht wird.
Ein solches Vermeiden von Codeduplikation hat folgende Vorteile:
Eine andere wichtige Strukturierungsmethode ist die Definition von Funktionen.
Das Keyword repeat gehört nicht zur Syntax von Python, sondern wurde speziell in TigerJython eingebaut, damit schon sehr früh, d.h. vor der Einführung von Variablen, Wiederholstrukturen möglich sind. Diese werden als ganz natürlich empfunden, denn auch im Alltag spricht man davon, eine Aktion n-mal zu wiederholen.
Will man zu Python kompatibel bleiben, so kann später repeat n: immer durch
for i in range(n):
ersetzt werden.
Endlosschleifen können durch Weglassen der Zahl der Wiederholungen, also mit
repeat:
eingeleitet werden.
Von Anfang an ist darauf zu achten, dass ein Programm nicht nur funktioniert, sondern auch schön geschrieben ist. Dabei ist auf einen konsequenten, d.h. immer gleich bleibenden Formatierungsstil zu achten, der sich an die Gewohnheiten der Programmier-Community (den Style Guide) hält. Bei der Darstellung des Codes stossen die individuellen Freiheiten an ihre Grenzen.
Eine Codeformatierung gemäss einem Style Guide hat den Vorteil, dass Programme von verschiedenen Personen leicht gelesen und der Code problemlos ausgetauscht werden kann.
Gänzlich abzulehnen sind Programme, die in verschiedenen Teilen unterschiedliche Formatierungen aufweisen, beispielsweise bei denen Blöcke einmal 4 Leerschläge und an anderer Stelle 3 Leerschläge eingerückt sind.
Trotz einer freiheitlichen Einstellung bei der Realisierung von Programmierideen ist im Zusammenhang mit der Gestaltung des Codes eine gewisse Lehrpersonen-Pedanterie angebracht.
Überdies ist es natürlich erforderlich, dass abgegebene Programmskelette und Beispielcode genau gleich formatiert sind, so wie wir es in diesem Lehrgang vorzeigen.