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 usas 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 y todos los valores hasta 100. El operador ..< crea un rango semiabierto que excluye el límite superior: 80..<90 coincide con los valores del 80 al 89.

Swift comprueba cada caso en orden y ejecuta el primero que coincide. Como nuestra puntuación es 85, se encuentra dentro de 80..<90, así que se imprime "B". Este enfoque es mucho más limpio que escribir varias condiciones else if con operadores de comparación.

challenge icon

Desafío

Fácil
Escribe una función getAgeCategory que tome age y devuelva la categoría de etapa de la vida según los rangos de edad.

Usa una sentencia switch con rangos para clasificar 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 etapa de la vida como un String

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

Practica por tu cuenta: Playground de Swift