While-Schleife
Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 39 von 78.
Während eine for-Schleife eine vordefinierte Sequenz durchläuft, läuft eine while-Schleife so lange weiter, wie eine Bedingung TRUE bleibt. Dies ist nützlich, wenn man im Voraus nicht weiß, wie oft man etwas wiederholen muss.
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}Ausgabe:
[1] 1
[1] 2
[1] 3Die Schleife prüft die Bedingung count <= 3 vor jeder Iteration. Wenn count 4 wird, ist die Bedingung FALSE und die Schleife stoppt.
Wichtig: Sie müssen die Variable innerhalb der Schleife aktualisieren. Ohne count <- count + 1 wäre die Bedingung immer TRUE, was eine Endlosschleife erzeugt, die niemals endet.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)Ausgabe:
[1] 15Dieses Beispiel addiert die Zahlen 1 bis 5, was 15 ergibt. Die while-Schleife ist ideal, wenn der Abbruchpunkt von einer Bedingung und nicht von einer festen Sequenz abhängt.
Aufgabe
EinfachLies eine Zahl n aus der Eingabe. Verwende eine while-Schleife, um die Summe aller Zahlen von 1 bis n zu berechnen und auszugeben.
Beginne mit einer Variablen, um deine laufende Summe zu verfolgen, und einer weiteren Variablen als Zähler. Addiere fortlaufend zum Gesamtwert, solange dein Zähler kleiner oder gleich n ist, und erhöhe den Zähler bei jeder Iteration.
Nachdem die Schleife abgeschlossen ist, gib die endgültige Summe mit print() aus.
Wenn die Eingabe zum Beispiel 5 ist, sollte die Ausgabe wie folgt aussehen:
[1] 15Dies liegt daran, dass 1 + 2 + 3 + 4 + 5 = 15 ist.
Spickzettel
Eine while-Schleife wird ausgeführt, solange eine Bedingung TRUE bleibt:
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}Die Schleife prüft die Bedingung vor jeder Iteration. Wenn die Bedingung FALSE wird, stoppt die Schleife.
Wichtig: Aktualisieren Sie die Variable innerhalb der Schleife immer, um Endlosschleifen zu vermeiden:
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total) # Ausgabe: [1] 15While-Schleifen sind ideal, wenn der Endpunkt von einer Bedingung und nicht von einer festen Sequenz abhängt.
Probier es selbst
# Eingabe lesen
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# Variablen initialisieren
total <- 0
counter <- 1
# TODO: Schreibe unten deine while-Schleife, um die Summe von 1 bis n zu berechnen
# Ergebnis ausgeben
print(total)Diese 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 (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – Einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechnungs-Split-Rechner
WillkommensnachrichtBenutzereingaben abfragen10FizzBuzz mit einer Besonderheit
SpielübersichtDie FizzBuzz-Funktion13Vektoren für Fortgeschrittene
Vektor-Slicing und IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahl-DatentypZeichen-DatentypLogischer DatentypDatentypen prüfenBenennungskonventionenFehlende Werte: NAZusammenfassung – Variablenerstellung5Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Rückblick - FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenRückblick - Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahlige Division und ModuloZuweisungsoperatorenWiederholung - Einfache MathematikVergleichsoperatoren6Grundlagen der Ein- und Ausgabe
Print-AusgabeCat zur AusgabeAusgabe mit VariablenEingabe lesen mit readline()Grundlagen der TypumwandlungWiederholung – AltersrechnerWiederholung – Wahr oder Falsch9Funktionen
Funktionen deklarierenFunktionsargumenteRückgabewerteWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandard-Parameterwerte