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
countdownweisen 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 Wahrheitswerttrueist. Beifalsewird 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
countdownausgegeben. - Mit
countdown = countdown - 1wird der Variablecountdownein 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 -= 1odercountdown--) - 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
countdownweisen wir die Zahl 10 zu. - Die Anweisung
whileüberprüft, ob die beiden in den Variablen gespeicherten Zahlen gleich sind – der Ausdruck nachwhilewird 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 WahrheitswertTrueist. BeiFalsewird 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
countdownausgegeben. - Mit
countdown = countdown - 1wird der Variablecountdownein 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 sleepimportiert 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.