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.
Desafío
FácilEscribe 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í
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloAsignación compuestaRepaso: matemáticas simplesOperadores de comparación7Entrada/salida básica
Función printInterpolación de cadenasEntrada con ReadLineConversión de tiposRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosRepaso: función SigmaRepaso: función de validaciónValores predeterminados13Iteración sobre secuencias
Iteración sobre elementosEl método enumeradoIteración sobre cadenas P1Iteración sobre cadenas P22Variables
Let vs VarAnotaciones de tipoNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: inicializar variables5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtención de datos11FizzBuzz con un giro
Descripción del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesenvolver con If LetGuard LetOperador de coalescencia nilRepaso: desenvoltura segura6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Swift