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 aplica a problemas reales de clasificación, donde cada caso cubre un intervalo 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")
// cálidoEl 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».
Los casos se comprueban de arriba abajo y gana la primera coincidencia, así que ordénalos de menor a mayor (o usa default para abarcar todos los casos).
Desafío
PrincipianteLee un solo entero de la entrada: una temperatura en grados Celsius. Imprime una de estas etiquetas usando un único switch con casos de rangos:
- Por debajo de
0(negativos):freezing 0...9:cold10...19:mild20...29:warm30...39:hot40o más:scorching
Para la entrada 22, la salida es warm.
Pruébalo tú mismo
let temp = Int(readLine()!)!
// TODO: switch sobre temp usando rangos, imprime la etiqueta correspondiente
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
1Strings a fondo
Conteo e índicesMayúsculas, minúsculas y TrimBúsqueda en StringsDividir y unirReemplazo de subcadenasResumen: Validación de usuario4Conjuntos
Crear conjuntosUnión e intersecciónResta y diferencia simétricaSubconjunto y superconjuntoResumen - Filtro de etiquetas7Proyecto - Seguimiento de hábitos
Descripción general del proyectoMarcar como completado10Proyecto - Motor de cuestionarios
Descripción general del proyectoHacer preguntas2Rangos e Intervalos
Cerrados vs. SemiabiertosSaltos (Stride)Métodos de RangosRangos en SwitchResumen - Cuadrícula de calendario5Funciones de orden superior Pt. 1
MapFilterReduceEncadenar map, filter, reduceResumen - Estadísticas de palabrasPractica por tu cuenta: Playground de Swift