06 Wiederholungen

Die While-Wiederholung #

// Mit 3 Schritten pro Sekunde ausführen!

int countdown = 10;

while (countdown > 0) {
   println(countdown);
   countdown = countdown - 1;
}
println("Start!");
  1. Der Variable countdown weisen wir die Zahl 10 zu.
  2. Die Anweisung while überprüft, ob die beiden in den Variablen gespeicherten Zahlen gleich sind – der Ausdruck in der Klammer wird dazu zu einem Wahrheitswert ausgewertet.
  3. Die geschweiften Klammern ({ und }) begrenzen auch hier einen Codeblock. Zur besseren Übersicht ist dieser Block eingerückt!
  4. Alle Anweisungen im Block, der nach der while-Anweisung anfängt, werden nur ausgeführt, wenn der ausgewertete Wahrheitswert true ist. Bei false wird der Block einfach übersprungen.
  5. Im Unterschied zur if-Anweisung werden die Anweisungen im Codeblock so lange wiederholt ausgeführt, bis der Wahrheitswert irgendwann einmal zu false ausgewertet wird.
  6. Im Codeblock selbst wird die Variable countdown ausgegeben.
  7. Mit countdown = countdown - 1 wird der Variable countdown ein neuer Wert zugewiesen: vom alten Wert wird 1 abgezogen, und das Ergebnis dieser Berechnung der Variable zugewiesen.
  8. (Dafür gäbe es auch die Kurzschreibweise countdown -= 1 oder countdown--)
  9. Damit der Countdown nicht zu schnell heruntergezählt wird, solltest du das Programm langsamer ausführen lassen: in der Online-IDE gibt es dazu einen Regler, den du auf 3 Anweisungen pro Sekunde stellen kannst.
  10. Die Zeile println("Start!"); wird erst ausgeführt, wenn der while-Block verlassen wird.
from time import sleep

countdown = 10

while countdown > 0:
    print(countdown);
    countdown = countdown - 1
    sleep(1)
print('Start!')
  1. Der Variable countdown weisen wir die Zahl 10 zu.
  2. Die Anweisung while überprüft, ob die beiden in den Variablen gespeicherten Zahlen gleich sind – der Ausdruck nach while wird dazu zu einem Wahrheitswert ausgewertet.
  3. Nach dem Doppelpunkt (:) folgt ein eingerückter Codeblock. Dazu gehören alle Zeilen, die nachfolgenden eingerückt sind.
  4. Alle Anweisungen im Block, der nach der while-Anweisung anfängt, werden nur ausgeführt, wenn der ausgewertete Wahrheitswert True ist. Bei False wird der Block einfach übersprungen.
  5. Im Unterschied zur if-Anweisung werden die Anweisungen im Codeblock so lange wiederholt ausgeführt, bis der Wahrheitswert irgendwann einmal zu False ausgewertet wird.
  6. Im Codeblock selbst wird die Variable countdown ausgegeben.
  7. Mit countdown = countdown - 1 wird der Variable countdown ein neuer Wert zugewiesen: vom alten Wert wird 1 abgezogen, und das Ergebnis dieser Berechnung der Variable zugewiesen.
  8. (Dafür gäbe es auch die Kurzschreibweise countdown -= 1)
  9. Damit der Countdown nicht zu schnell heruntergezählt wird, pausieren wir die Ausführung für eine Sekunde. Dafür sorgt die Anweisung sleep(1), die wir in der ersten Zeile mit from time import sleep importiert und damit nutzbar gemacht haben.
  10. Die Zeile print('Start!'') wird erst ausgeführt, wenn der while-Block verlassen wird.

Aufgabe: ja oder nein? #

Programmiere ein Programm, das so lange »ja oder nein« fragt, bis eine der beiden Antworten eingeben wird, z.B.:

ja oder nein?
Ich weiß nicht…

ja oder nein?
Wirklich nicht!

ja oder nein?
nein
Deine Antwort ist 'nein'

Aufgabe: Rechnen lassen #

Schreibe ein Programm, das alle Zahlen von 1 bis 100 zusammenzählt!

Aufgabe: Verbessertes Zahlenraten #

Erweitere das Zahlenrateprogramm so, dass so lange geraten wird, bis die richtige Zahl erraten wurde.

Aufgabe: Mehr Jugendschutzabfragen #

Erweitere das Jugendschutzprogramm so, dass immer wieder nach dem Alter gefragt wird, bis -1 eingegeben wird.

Flashcards #

Welche drei Elemente brauche ich, um eine while-Wiederholung zu programmieren?
Das Schlüsselwort while, die Überprüfung einer Bedingung (Ausdruck, der zu einem Wahrheitswert ausgewertet wird), und einen Block von Anweisungen, der im Wahrheitsfall wiederholt wird.