Intervalles dans les boucles
Fait partie de la section Fondamentaux du Journey Swift de Coddy. Leçon 48 sur 86.
Tu as utilisé des plages comme 1...5 dans tes boucles, mais Swift offre davantage de flexibilité quant à la manière dont tu définis ces plages. Explorons les différents types de plages ainsi qu’une technique utile pour compter à rebours.
L’opérateur de plage fermée (...) inclut les deux extrémités :
for i in 1...3 {
print(i)
}
// Sortie : 1, 2, 3L’opérateur de plage semi-ouverte (..<) exclut la borne supérieure, ce qui est particulièrement utile lorsque vous travaillez avec des indices commençant à zéro :
for i in 0..<3 {
print(i)
}
// Sortie : 0, 1, 2Parfois, vous devez parcourir une séquence dans l’ordre inverse. La méthode reversed() vous permet d’itérer à rebours dans une plage :
for i in (1...3).reversed() {
print(i)
}
// Sortie : 3, 2, 1Remarquez les parenthèses autour de la plage : elles sont nécessaires lorsque vous appelez reversed() sur une plage. Cette technique est parfaite pour les décomptes ou lorsque vous devez traiter les éléments du dernier au premier.
Défi
FacileÉcrivez une fonction countdown qui prend n et renvoie une chaîne contenant un compte à rebours de n jusqu’à 1, suivi de "Go!".
Utilisez la méthode reversed() sur une plage pour parcourir les valeurs à l’envers et construire la chaîne du compte à rebours.
Logique :
- Créez une plage de
1ànet inversez-la - Construisez une chaîne avec chaque nombre séparé par un saut de ligne
- Ajoutez "Go!" sur la dernière ligne
Paramètres :
n(Int) : le nombre de départ du compte à rebours (1 ou plus)
Renvoie : une chaîne contenant chaque nombre du compte à rebours sur sa propre ligne et se terminant par "Go!" (String). Format :
3
2
1
Go!Par exemple, si n vaut 3, la fonction renvoie "3\n2\n1\nGo!".
Essayez vous-même
func countdown(n: Int) -> String {
// Écrivez le code ici
}
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 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Swift