Menu
Coddy logo textTech

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")
}
// chaud

Le 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).

challenge icon

Défi

Débutant

Lisez 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 : cold
  • 10...19 : mild
  • 20...29 : warm
  • 30...39 : hot
  • 40 et 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
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Swift