Menu
Coddy logo textTech

Ranges in Switch

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 10 von 56.

Du hast switch mit Bereichen in den Grundlagen verwendet. Derselbe Trick lässt sich auf echte Klassifizierungsprobleme skalieren, bei denen jeder Fall einen Wertebereich abdeckt.

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

Der erste case ..<0 verwendet die einseitige Bereichsform: „jeder Wert, der strikt kleiner als 0 ist“. Sie können auch 0... verwenden, um „0 oder größer“ auszudrücken.

Die Fälle werden von oben nach unten geprüft und der erste Treffer gewinnt. Ordnen Sie sie daher von niedrig nach hoch (oder verwenden Sie default für den Catch-all).

challenge icon

Aufgabe

Anfänger

Lies eine einzelne Ganzzahl von der Eingabe: eine Temperatur in Celsius. Gib eine dieser Bezeichnungen unter Verwendung eines einzelnen switch mit Bereichs-Cases aus:

  • Unter 0 (negative Zahlen): freezing
  • 0...9: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 und darüber: scorching

Für die Eingabe 22 ist die Ausgabe warm.

Probier es selbst

let temp = Int(readLine()!)!

// TODO: switch auf temp mit Bereichen anwenden, das entsprechende Label ausgeben
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Kontrollfluss