Intervalles dans un Switch
Fait partie de la section Logique et Flux du Journey Swift de Coddy. Leçon 10 sur 56.
Vous avez utilisé switch avec des plages dans les fondamentaux. La même technique s’applique aux véritables problèmes de classification, où chaque case couvre une plage de valeurs.
let temp = 22
switch temp {
case ..<0: print("freezing")
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot")
}
// chaudLe premier case ..<0 utilise la forme de plage unilatérale : « toute valeur strictement inférieure à 0 ». Vous pouvez également utiliser 0... pour signifier « 0 ou plus ».
Les Cases sont vérifiés de haut en bas et la première correspondance l’emporte ; classe-les de la plus petite à la plus grande (ou utilise default pour le cas général).
Défi
DébutantLisez un entier unique saisi en entrée : une température en Celsius. Affichez l’une de ces étiquettes à l’aide d’un seul switch avec des cas de plages :
- Inférieure à
0(négatifs) :freezing 0...9:cold10...19:mild20...29:warm30...39:hot40et au-dessus :scorching
Pour l’entrée 22, la sortie est warm.
Essayez vous-même
let temp = Int(readLine()!)!
// TODO: switch sur temp en utilisant des plages, afficher le label correspondant
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de motsEntraînez-vous par vous-même : Playground Swift