Menu
Coddy logo textTech

Intervalli in switch

Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 10 di 56.

Hai usato switch con intervalli nei fondamenti. Lo stesso trucco si applica ai problemi di classificazione reali, in cui ogni caso copre una fascia di valori.

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

Il primo case ..<0 usa la forma di intervallo unilaterale: "qualsiasi valore strettamente minore di 0". Puoi usare anche 0... per indicare "0 o maggiore".

I casi vengono controllati dall’alto verso il basso e vince la prima corrispondenza, quindi ordinali dal più basso al più alto (oppure usa default per il caso predefinito).

challenge icon

Sfida

Principiante

Leggi un singolo intero dall'input: una temperatura in gradi Celsius. Stampa una di queste etichette usando un singolo switch con casi di intervallo:

  • Inferiore a 0 (negativi): freezing
  • 0...9: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 e oltre: scorching

Per l'input 22, l'output è warm.

Provalo tu

let temp = Int(readLine()!)!

// TODO: switch on temp using ranges, print the matching label
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Playground Swift