R While-Schleife


Schleifen

Schleifen können einen Codeblock ausführen, solange eine bestimmte Bedingung erreicht ist.

Schleifen sind praktisch, weil sie Zeit sparen, Fehler reduzieren und den Code besser lesbar machen.

R hat zwei Schleifenbefehle:

  • whileSchleifen
  • forSchleifen

R While-Schleifen

Mit der whileSchleife können wir eine Reihe von Anweisungen ausführen, solange eine Bedingung WAHR ist:

Beispiel

Drucken i, solange ikleiner als 6 ist:

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
}

Im obigen Beispiel erzeugt die Schleife weiterhin Zahlen im Bereich von 1 bis 5. Die Schleife stoppt bei 6, weil sie 6 < 6FALSCH ist.

Die whileSchleife erfordert, dass relevante Variablen bereit sind, in diesem Beispiel müssen wir eine Indizierungsvariable definieren i, die wir auf 1 setzen.

Hinweis: Denken Sie daran, i zu erhöhen, sonst wird die Schleife für immer fortgesetzt.


Brechen

Mit der breakAnweisung können wir die Schleife auch dann stoppen, wenn die While-Bedingung TRUE ist:

Beispiel

Verlassen Sie die Schleife, wenn isie gleich 4 ist.

i <- 1
while (i < 6) {
  print(i)
  i <- i + 1
  if (i == 4) {
    break
  }
}

breakDie Schleife endet bei 3, weil wir uns dafür entschieden haben, die Schleife mit der Anweisung when iis equal to 4 ( i == 4) zu beenden .


Nächste

Mit der nextAnweisung können wir eine Iteration überspringen, ohne die Schleife zu beenden:

Beispiel

Überspringen Sie den Wert von 3:

i <- 0
while (i < 6) {
  i <- i + 1
  if (i == 3) {
    next
  }
  print(i)
}

Wenn die Schleife den Wert 3 passiert, wird sie übersprungen und die Schleife fortgesetzt.


Yahtzee!

If .. Else kombiniert mit einer While-Schleife

Um ein praktisches Beispiel zu demonstrieren, sagen wir, wir spielen Yahtzee!

Beispiel

Drucken "Yahtzee!" Wenn die Würfelzahl 6 ist:

dice <- 1
while (dice <= 6) {
  if (dice < 6) {
    print("No Yahtzee")
  } else {
    print("Yahtzee!")
  }
  dice <- dice + 1
}

Wenn die Schleife die Werte von 1 bis 5 passiert, gibt sie "No Yahtzee" aus. Immer wenn es den Wert 6 überschreitet, druckt es "Yahtzee!".