Bereiche in Switch
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 10 von 56.
Du hast in den Grundlagen switch mit Bereichen verwendet. Derselbe Trick lässt sich auf echte Klassifizierungsprobleme übertragen, 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")
}
// warmDer erste case ..<0 verwendet die Form eines einseitigen Bereichs: „jeder Wert, der strikt kleiner als 0 ist“. Du kannst auch 0... verwenden, um „0 oder größer“ zu bedeuten.
Fälle werden von oben nach unten geprüft, und die erste Übereinstimmung gewinnt. Ordne sie daher von niedrig nach hoch (oder verwende default für den catch-all-Fall).
Aufgabe
AnfängerLies eine einzelne ganze Zahl aus der Eingabe ein: eine Temperatur in Celsius. Gib mithilfe eines einzelnen switch mit Bereichsfällen eines dieser Labels aus:
- Unter
0(negative Werte):freezing 0...9:cold10...19:mild20...29:warm30...39:hot40und darüber:scorching
Für die Eingabe 22 lautet die Ausgabe warm.
Probier es selbst
let temp = Int(readLine()!)!
// TODO: switch auf temp mit Bereichen, drucke das passende Label
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – WortstatistikÜbe selbstständig: Swift-Playground