Boucle tant que R


Boucles

Les boucles peuvent exécuter un bloc de code tant qu'une condition spécifiée est atteinte.

Les boucles sont pratiques car elles permettent de gagner du temps, de réduire les erreurs et de rendre le code plus lisible.

R a deux commandes de boucle :

  • while boucles
  • for boucles

R Boucles tant que

Avec la whileboucle, nous pouvons exécuter un ensemble d'instructions tant qu'une condition est VRAIE :

Exemple

Imprimer itant que iest inférieur à 6 :

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

Dans l'exemple ci-dessus, la boucle continuera à produire des nombres allant de 1 à 5. La boucle s'arrêtera à 6 car 6 < 6est FALSE.

La whileboucle nécessite que les variables pertinentes soient prêtes, dans cet exemple, nous devons définir une variable d'indexation i, que nous définissons sur 1.

Remarque : n'oubliez pas d'incrémenter i, sinon la boucle continuera indéfiniment.


Casser

Avec l' breakinstruction, nous pouvons arrêter la boucle même si la condition while est TRUE :

Exemple

Sortir de la boucle si iest égal à 4.

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

La boucle s'arrêtera à 3 car nous avons choisi de terminer la boucle en utilisant l' breakinstruction when iest égal à 4 ( i == 4).


Suivant

Avec l' nextinstruction, nous pouvons ignorer une itération sans terminer la boucle :

Exemple

Ignorez la valeur de 3 :

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

Lorsque la boucle passe la valeur 3, elle l'ignore et continue à boucler.


Yahtzee !

Si .. Sinon combiné avec une boucle While

Pour illustrer un exemple pratique, disons que nous jouons à un jeu de Yahtzee !

Exemple

Impression "Yahtzee !" Si le nombre de dés est 6 :

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

Si la boucle passe les valeurs comprises entre 1 et 5, elle imprime "No Yahtzee". Chaque fois qu'il dépasse la valeur 6, il imprime "Yahtzee!".