While-Schleife
Teil des Abschnitts Grundlagen der Ruby-Journey von Coddy — Lektion 40 von 88.
Die for-Schleife funktioniert hervorragend, wenn man genau weiß, wie oft man etwas wiederholen möchte. Aber was ist, wenn man so lange weiterschleifen möchte, bis sich eine bestimmte Bedingung ändert? Hier kommt die while-Schleife ins Spiel.
Eine while-Schleife läuft weiter, solange ihre Bedingung wahr bleibt:
count = 1
while count <= 3
puts count
count += 1
endDies gibt 1, 2 und 3 aus. Die Schleife prüft die Bedingung vor jeder Iteration. Sobald count zu 4 wird, ist die Bedingung count <= 3 falsch und die Schleife stoppt.
Der entscheidende Unterschied 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 rückwärts und gibt dann „Done!“ aus, nachdem die Schleife beendet ist. Die while-Schleife ist besonders nützlich, wenn man im Voraus nicht weiß, wie viele Iterationen man benötigen wird.
Aufgabe
EinfachLies eine Zahl n von der Eingabe. Verwende eine while-Schleife, um alle Zahlen von n bis 1 auszugeben, jeweils in einer eigenen Zeile. 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 zum Beispiel 5 ist, sollte die Ausgabe wie folgt aussehen:
5
4
3
2
1
Blastoff!Spickzettel
Eine while-Schleife läuft so lange weiter, wie ihre Bedingung wahr bleibt:
count = 1
while count <= 3
puts count
count += 1
endDie Schleife prüft die Bedingung vor jeder Iteration. Sie müssen die Variable innerhalb der Schleife aktualisieren, um die Bedingung schließlich falsch werden zu lassen, andernfalls läuft die Schleife ewig.
Beispiel-Countdown:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Verwenden Sie while-Schleifen, wenn Sie nicht im Voraus wissen, wie viele Iterationen Sie benötigen, oder wenn Sie eine Schleife ausführen möchten, bis sich eine Bedingung ändert.
Probier es selbst
# Lies die Startzahl ein
n = gets.chomp.to_i
# TODO: Schreibe deinen Code unten
# Verwende eine while-Schleife, um Zahlen von n bis 1 auszugeben
# Gib dann "Blastoff!" ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Logische Operatoren Teil 47Rechnungs-Splitter
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit Twist
SpielübersichtDie FizzBuzz-Methode13Arrays für Fortgeschrittene
Array Slicing mit BereichenArray Slicing mit IndizesArray-OperatorenInclude? Methode2Variablen und Datentypen
Zahlen und VariablenDatentyp StringDatentyp BooleanDatentyp SymbolDatentypen prüfenBenennungskonventionenZusammenfassung – Erstellung von Variablen5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachtelte If - Else-AnweisungenUnless-Anweisung8Schleifen
For-Schleife mit RangesWhile-SchleifeBreakNextRückblick - FakultätTimes-SchleifeUntil-SchleifeVerschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenWiederholung – Einfache MathematikVergleichsoperatoren6Grundlagen Ein- und Ausgabe
Ausgabe mit putsAusgabe mit print und pAusgabe mit VariablenEingabe mit getsChomp-MethodeTypumwandlungWiederholung - AltersrechnerWiederholung - Wahr oder Falsch