Lektion 7 besteht aus drei Teilen A, B und C, die in beliebiger Reihenfolge bearbeitet werden können.
Bis jetzt haben wir grundlegende Programmierbefehle erlernt (z.B. das Zuweisen von Werten, das Ausgeben von Werten), ebenso wie if
Befehle. In dieser Lektion führen wir Schleifen ein (manchmal auch Wiederholungen oder Iterationen genannt: eine Möglichkeit, den Computer immer wieder die gleiche Sache (oder ähnliche Dinge) machen zu lassen. Zum Beispiel würde die Rechtschreibprüfung jedes Wortes in einem Dokument mit einer Schleife gemacht werden. Wir werden in dieser Lektion die beiden Arten von Python Schleifen beschreiben: while
Schleifen und for
Schleifen.
while
Schleifen
Ein while
-Statement (also ein „Während“-Statement) wiederholt einen Code-Abschnitt immer wieder, solange bestimmte Bedingungen noch erfüllt sind. Hier ist ein Beispiel:
Hier ist die allgemeine Struktur:
- Die erste Zeile ist die
während - «Bedingung»:
, wobei wir 'Bedingung' solche Ausdrücke nennen, dieWahr
orFalsch
ausgeben (so wie einif
Statement) - Danach setzen wir einen eingerückten Textblock (wieder so wie ein
if
Statement), der aus den Statements besteht, die wir immer wieder wiederholt sehen möchten. Dies nennt man den Körper. - Wenn du das Programm ausführst, wird das Folgende wiederholt:
- Die Bedingung wird überprüft; wenn die Bedingung
Wahr
ist, wird der Körper ausgeführt und im Anschluss wiederholen wir von vorne. Erst wenn die Bedingung alsFalsch
beurteilt wird, endet diese Schleife.
- Die Bedingung wird überprüft; wenn die Bedingung
Mit Schleifen ist es einfach ein Programm zu schreiben, das ewig in einem unendlichen Kreislauf läuft. Man bekommt die Fehlermeldung "Time Limit Exceeded" weil der CS Circles webserver ein Zeitlimit erzwingt. Nach 1 Sekunde wird das Programm beendet. Wenn du das Programm zuhause durchgeführt hättest, würde es ewig laufen (bis du es selbst beendet hättest, üblich durch das Drücken von Strg-C). |
for
Schleifen
Es gibt noch eine andere Art von Schleifen in Python, die man eine für
-Schleife nennt. In vielen Situationen können beide Arten von Schleifen (für
/während
) verwendet werden, aber eine ist einfacher als die andere, also ist es hilfreich zu wissen, wie man beide verwendet. Eine for
-Schleife wird gebaut, um eine Reihe von Zahlen (oder wie wir später sehen werden, irgendeine Liste von Daten) systematisch durchzugehen.
Hier ist ein Beispiel einer for
-Schleife.
Die allgemeine Struktur einer numerischen for
-Schleife ist
for «variableName» in range(«startValue», «tailValue»): «indented block of commands, called the loop "body"»Wie immer kann der Körper mehrere Zeilen lang sein, solange alle Zeilen im selben Maß eingerückt sind. Zuerst wird der Körper der Schleife ausgeführt mit
variableName
der auf startValue
eingestellt wird. Dann wird das Ganze wiederholt mit variableName
eingestellt auf startValue+1
, dann auf startValue+2
, etc. Das wird nun fortgeführt bis variableName
den Wert tailValue-1
hat, woraufhin die Schleife beendet ist.
Die Schleife hört mit tailValue-1 auf und nicht mit tailValue !
|
Hier ist ein Beispiel einer for
-Schleife in einer anderen for
-Schleife.
Die break
und continue
Statements
Das break
(Bruch oder Abbruch) Statement ist wie ein Notausgang für eine while
oder for
Schleife: break
sorgt für einen sofortigen Sprung zu den Befehlen nach dem Ende des Schleifenkörpers. Hier ist ein Beispiel für die Verwendung von break
: das Programm liest alle Inputzeilen bis es eine findet, die besagt "END"
.
Das continue
Statement sorgt dafür, dass du den Rest einer Schleife überspringst, um dann den Körper aus der nächsten Runde zu wiederholen (üblicherweise die nächste "Iteration" genannt).