Ajouter la variante
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 61 sur 86.
Défi
FacileDans la leçon précédente, vous avez créé une boucle qui exécute FizzBuzz de 1 à une limite donnée en utilisant les diviseurs fixes 3 et 5. Maintenant, ajoutez une variante en rendant les diviseurs personnalisables !
Modifiez votre fonction fizzBuzz pour qu'elle accepte deux paramètres supplémentaires pour les diviseurs personnalisés :
- Mettez à jour la signature de la fonction en :
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - Utilisez
fizzAtau lieu de 3 pour la vérification de "Fizz" - Utilisez
buzzAtau lieu de 5 pour la vérification de "Buzz" - Les valeurs par défaut garantissent que le FizzBuzz classique fonctionne toujours lorsque les diviseurs ne sont pas spécifiés
Vous recevrez les entrées suivantes :
- La limite supérieure (entier)
- Le premier diviseur pour "Fizz" (entier)
- Le second diviseur pour "Buzz" (entier)
Mettez à jour votre boucle pour passer ces diviseurs personnalisés à la fonction pour chaque nombre.
Par exemple, si les entrées sont 10, 2, et 3, la sortie devrait être :
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
FizzDans cet exemple, "Fizz" s'affiche pour les multiples de 2, "Buzz" pour les multiples de 3, et "FizzBuzz" pour les multiples des deux (comme 6).
Si les entrées sont 15, 3, et 5 (les diviseurs classiques), la sortie devrait correspondre au FizzBuzz original :
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzEssayez vous-même
func fizzBuzz(_ number: Int) -> String {
if number % 3 == 0 && number % 5 == 0 {
return "FizzBuzz"
} else if number % 3 == 0 {
return "Fizz"
} else if number % 5 == 0 {
return "Buzz"
} else {
return String(number)
}
}
// Read input
let limit = Int(readLine()!)!
// Loop from 1 to limit and print the result for each number
for number in 1...limit {
print(fizzBuzz(number))
}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 dynamique