Menu
Coddy logo textTech

Rangos en Switch

Parte de la sección Lógica y Flujo del Journey de Swift de Coddy — lección 10 de 56.

Usaste switch con rangos en los fundamentos. El mismo truco se escala a problemas de clasificación reales donde cada caso cubre un rango de valores.

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

El primer case ..<0 usa la forma de rango unilateral: "cualquier valor estrictamente menor que 0". También puedes usar 0... para indicar "0 o mayor" también.

Los casos se evalúan de arriba hacia abajo y el primero que coincida gana, así que ordénalos de menor a mayor (o usa default para el caso general).

challenge icon

Desafío

Principiante

Lee un único número entero de la entrada: una temperatura en Celsius. Imprime una de estas etiquetas usando un único switch con casos de rango:

  • Por debajo de 0 (negativos): freezing
  • 0...9: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 y superior: scorching

Para la entrada 22, la salida es warm.

Hoja de referencia

Usa switch con casos de rango para clasificar valores. Los casos se comprueban de arriba hacia abajo; la primera coincidencia gana.

let temp = 22
switch temp {
case ..<0:        print("freezing")   // unilateral: cualquier cosa por debajo de 0
case 0..<10:      print("cold")
case 10..<20:     print("mild")
case 20..<30:     print("warm")
default:          print("hot")        // comodín para el resto
}
// warm
  • ..<0 — rango unilateral: cualquier valor estrictamente menor que 0
  • 40... — rango unilateral: 40 o superior
  • Ordena los casos de menor a mayor; usa default para el resto de los casos

Pruébalo tú mismo

let temp = Int(readLine()!)!

// TODO: usar switch sobre temp usando rangos, imprimir la etiqueta coincidente
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo