While-Schleife

Nach der Sequenz und der Funktion, führen wir eine weitere Programmierstruktur ein: die Iteration. Die While-Schleife ist eine Form der Iteration. Dabei wird ein Code-Block solange wiederholt ausgeführt, wie eine bestimmte Bedingung gültig ist. Die Bedingung wird als Ausdruck vom Typ boolean angegeben.

Durch die Verwendung von Schleifen, vermeidet man, dass Code doppelt geschrieben werden muss.

Flussdiagram: Schleife des Essens-Vorgangs
hunger = 4
while hunger>1:
    print("kochen")
    print("essen")
    hunger = hunger-1  #essen verringert den Hunger

print("aufräumen")
kochen
essen
kochen
essen
kochen
essen
aufräumen

Scratch-Schleifen mit Python-While nachbauen

repeat

repeat (10)
...
end

Wenn eine fixe Anzahl Wiederholungen ausgeführt werden soll, dann helfen wir uns mit einer sogenannten «Zählvariable». Diese muss vor der Schleife auf einen Startwert gesetzt werden. Normalerweise setzt man sie auf 0. Dann führt man die Schleife sooft aus, bis die gewünschte Anzahl Wiederholungen erreicht ist. Dabei muss man die Anzahl Schleifendurchgänge selbst zählen. Dazu erhöht man immer am Ende der Schleife die Zählvariable um 1.

i = 0
while i < 10:
   # do something
   i = i + 1

repeat until

repeat until <touching color [#ff0000]?>
...
end

Eigentlich ist dies die allgemeinste Form der Schleife. Es kann irgendein Ausdruck überprüft werden, so z.B. eine Funktion welche einen Wahrheitswert zurückliefert. Im Gegensatz zu Scratch wiederholt die Python-Schleife «solange dass» und nicht «bis»: wir müssten also die Bedingung negieren.

while not touchinColor("#ff0000"):
   # do something

(Die Funktion touchingColor() wurde frei erfunden. Man müsste diese selbst programmieren.)

forever

forever
...
end

Eine sogenannte «Endlos-Schleife» erhalten wir, wenn wir eine Bedingung überprüfen welche immer wahr ist. Wir könnten z.B. 3>1 verwenden, aber noch einfacher schreiben wir einfach den Wert True hin.

while True:
   # do something