Break
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 40 sur 78.
Parfois, vous devez quitter une boucle prématurément, avant qu'elle ne termine toutes ses itérations. L'instruction break vous permet d'arrêter immédiatement une boucle lorsqu'une condition spécifique est remplie.
for (i in 1:10) {
if (i == 5) {
break
}
print(i)
}Sortie :
[1] 1
[1] 2
[1] 3
[1] 4La boucle était configurée pour s'exécuter de 1 à 10, mais quand i a atteint 5, l'instruction break a arrêté complètement la boucle. Remarquez que 5 n'a jamais été affiché car break sort immédiatement.
Ceci est particulièrement utile avec les boucles while lors de la recherche de quelque chose :
num <- 1
while (TRUE) {
if (num * num > 20) {
break
}
num <- num + 1
}
print(num)Sortie :
[1] 5Ici, while (TRUE) s'exécuterait normalement indéfiniment, mais break l'arrête une fois que nous avons trouvé le premier nombre dont le carré dépasse 20. Ce modèle est courant lorsque vous devez effectuer une recherche jusqu'à ce qu'une condition soit satisfaite.
Défi
FacileLisez un nombre limit à partir de l'entrée. Utilisez une boucle for pour itérer de 1 à limit, mais arrêtez la boucle prématurément en utilisant break lorsque vous rencontrez le premier nombre divisible à la fois par 3 et par 7.
Affichez chaque nombre avant de vérifier la condition. Lorsque vous trouvez un nombre divisible à la fois par 3 et par 7, affichez ce nombre, puis sortez de la boucle.
Une fois la boucle terminée, affichez "Loop ended" en utilisant print().
Par exemple, si l'entrée est 30, la sortie devrait être :
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] "Loop ended"La boucle s'arrête à 21 car c'est le premier nombre divisible à la fois par 3 et par 7 (21 = 3 × 7).
Aide-mémoire
L'instruction break arrête immédiatement une boucle lorsqu'une condition spécifique est remplie :
for (i in 1:10) {
if (i == 5) {
break
}
print(i)
}Sortie :
[1] 1
[1] 2
[1] 3
[1] 4La boucle se termine lorsque i atteint 5. La valeur 5 n'est jamais affichée car break sort immédiatement.
Utilisation de break avec while (TRUE) pour la recherche :
num <- 1
while (TRUE) {
if (num * num > 20) {
break
}
num <- num + 1
}
print(num)Sortie :
[1] 5Ce modèle trouve le premier nombre dont le carré dépasse 20, puis arrête la boucle infinie.
Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
limit <- as.integer(suppressWarnings(readLines(con, n = 1)))
# TODO: Écrivez votre code ci-dessous
# Utilisez une boucle for de 1 à limit
# Affichez chaque nombre avant de vérifier la condition
# Arrêtez la boucle (break) quand vous trouvez un nombre divisible par 3 et 7 à la fois
# Astuce : Utilisez l'opérateur %% pour vérifier la divisibilité
# Afficher "Loop ended" après la boucle
print("Loop ended")Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut