Menu
Coddy logo textTech

While-Schleife

Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy. Lektion 40 von 88.

Die for-Schleife funktioniert gut, wenn Sie genau wissen, wie oft etwas wiederholt werden soll. Aber was ist, wenn Sie so lange weiterholen möchten, bis sich eine bestimmte Bedingung ändert? Genau dafür gibt es die while-Schleife.

Eine while-Schleife wird so lange ausgeführt, wie ihre Bedingung wahr bleibt:

count = 1
while count <= 3
  puts count
  count += 1
end

Dies gibt 1, 2 und 3 aus. Die Schleife prüft die Bedingung vor jeder Iteration. Sobald count 4 wird, ist die Bedingung count <= 3 falsch und die Schleife stoppt.

Der Hauptunterschied zu einer for-Schleife besteht darin, dass Sie steuern, wann die Schleife endet, indem Sie eine Variable innerhalb der Schleife ändern. Wenn Sie vergessen, die Variable zu aktualisieren, läuft die Schleife ewig! Hier ist ein Countdown-Beispiel:

num = 5
while num > 0
  puts num
  num -= 1
end
puts "Done!"

Dies zählt von 5 bis 1 herunter und gibt dann "Done!" aus, nachdem die Schleife endet. Die while-Schleife ist besonders nützlich, wenn Sie nicht im Voraus wissen, wie viele Iterationen Sie benötigen.

challenge icon

Aufgabe

Einfach

Lies eine Zahl n aus der Eingabe ein. Verwende eine while-Schleife, um alle Zahlen von n herunter bis 1 jeweils in einer eigenen Zeile auszugeben. Nachdem der Countdown beendet ist, gib Blastoff! in einer neuen Zeile aus.

Die Eingabe ist eine einzelne Ganzzahl, die die Startzahl für den Countdown darstellt.

Wenn die Eingabe beispielsweise 5 ist, sollte die Ausgabe wie folgt aussehen:

5
4
3
2
1
Blastoff!

Probier es selbst

# Lese die Startzahl
n = gets.chomp.to_i

# TODO: Schreibe deinen Code darunter
# Verwende eine while-Schleife, um Zahlen von n bis 1 auszugeben
# Gib dann den genauen Text aus den Anweisungen aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-Ruby-Compiler