Menu
Coddy logo textTech

Switch con rangos

Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 30 de 86.

Las sentencias switch se vuelven aún más potentes cuando utilizas rangos en lugar de valores individuales. Esto es perfecto para categorizar números en grupos, como convertir una puntuación en una calificación.

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
case 60..<70:
    print("D")
default:
    print("F")
}

El operador ... crea un rango cerrado que incluye ambos extremos, por lo que 90...100 coincide con 90, 91, hasta llegar al 100. El operador ..< crea un rango semiabierto que excluye el límite superior — 80..<90 coincide con los números del 80 al 89.

Swift comprueba cada caso en orden y ejecuta el primero que coincida. Dado que nuestra puntuación es 85, cae dentro de 80..<90, por lo que se imprime "B". Este enfoque es mucho más limpio que escribir múltiples condiciones else if con operadores de comparación.

challenge icon

Desafío

Fácil

Escribe una función getAgeCategory que toma age y devuelve la categoría de la etapa de la vida basada en rangos de edad.

Usa una sentencia switch con rangos para categorizar la edad en una de cinco etapas de la vida.

Condiciones:

  • 0...2 - devuelve "Infant"
  • 3...12 - devuelve "Child"
  • 13...19 - devuelve "Teenager"
  • 20...64 - devuelve "Adult"
  • 65...120 - devuelve "Senior"
  • Cualquier otro valor - devuelve "Invalid age"

Parámetros:

  • age (Int): La edad de la persona

Devuelve: La categoría de la etapa de la vida como un String

Hoja de referencia

Las sentencias switch pueden usar rangos para coincidir con valores dentro de un intervalo específico:

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
default:
    print("F")
}

El operador ... crea un rango cerrado que incluye ambos puntos finales (por ejemplo, 90...100 coincide del 90 al 100).

El operador ..< crea un rango semiabierto que excluye el límite superior (por ejemplo, 80..<90 coincide del 80 al 89).

Swift comprueba cada caso en orden y ejecuta el primero que coincida.

Pruébalo tú mismo

func getAgeCategory(age: Int) -> String {
    // Escribe el código aquí
}
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 Fundamentos