Die While-Wiederholung #
// Mit 3 Schritten pro Sekunde ausführen!
int countdown = 10;
while (countdown > 0) {
println(countdown);
countdown = countdown - 1;
}
println("Start!");
- Der Variable
countdown
weisen wir die Zahl 10 zu. - 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. - Die geschweiften Klammern (
{
und}
) begrenzen auch hier einen Codeblock. Zur besseren Übersicht ist dieser Block eingerückt! - Alle Anweisungen im Block, der nach der
while
-Anweisung anfängt, werden nur ausgeführt, wenn der ausgewertete Wahrheitswerttrue
ist. Beifalse
wird der Block einfach übersprungen. - Im Unterschied zur
if
-Anweisung werden die Anweisungen im Codeblock so lange wiederholt ausgeführt, bis der Wahrheitswert irgendwann einmal zu false ausgewertet wird. - Im Codeblock selbst wird die Variable
countdown
ausgegeben. - Mit
countdown = countdown - 1
wird der Variablecountdown
ein neuer Wert zugewiesen: vom alten Wert wird 1 abgezogen, und das Ergebnis dieser Berechnung der Variable zugewiesen. - (Dafür gäbe es auch die Kurzschreibweise
countdown -= 1
odercountdown--
) - 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.
- Die Zeile
println("Start!");
wird erst ausgeführt, wenn derwhile
-Block verlassen wird.
from time import sleep
countdown = 10
while countdown > 0:
print(countdown);
countdown = countdown - 1
sleep(1)
print('Start!')
- Der Variable
countdown
weisen wir die Zahl 10 zu. - Die Anweisung
while
überprüft, ob die beiden in den Variablen gespeicherten Zahlen gleich sind – der Ausdruck nachwhile
wird dazu zu einem Wahrheitswert ausgewertet. - Nach dem Doppelpunkt (
:
) folgt ein eingerückter Codeblock. Dazu gehören alle Zeilen, die nachfolgenden eingerückt sind. - Alle Anweisungen im Block, der nach der
while
-Anweisung anfängt, werden nur ausgeführt, wenn der ausgewertete WahrheitswertTrue
ist. BeiFalse
wird der Block einfach übersprungen. - Im Unterschied zur
if
-Anweisung werden die Anweisungen im Codeblock so lange wiederholt ausgeführt, bis der Wahrheitswert irgendwann einmal zu False ausgewertet wird. - Im Codeblock selbst wird die Variable
countdown
ausgegeben. - Mit
countdown = countdown - 1
wird der Variablecountdown
ein neuer Wert zugewiesen: vom alten Wert wird 1 abgezogen, und das Ergebnis dieser Berechnung der Variable zugewiesen. - (Dafür gäbe es auch die Kurzschreibweise
countdown -= 1
) - 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 mitfrom time import sleep
importiert und damit nutzbar gemacht haben. - Die Zeile
print('Start!'')
wird erst ausgeführt, wenn derwhile
-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.