🔀 match-case en Python Estructura de selección múltiple

Nuevo en Python 3.10 La estructura match-case permite elegir entre múltiples opciones de forma clara y organizada. Es como un if-elif-else pero con una sintaxis más elegante para comparar valores.

📘 ¿Cómo funciona match-case?

La estructura match-case evalúa una expresión y la compara con varios patrones. Cuando encuentra una coincidencia, ejecuta el bloque de código correspondiente. Si ningún patrón coincide, se ejecuta el caso _ (comodín), similar al else.

# Ejemplo: clasificación de días de la semana dia = "lunes" match dia: case "lunes" | "martes" | "miércoles" | "jueves" | "viernes": print("Día laboral") case "sábado" | "domingo": print("Fin de semana") case _: print("Día no válido")

🔹 Sintaxis básica

match variable:
case valor1:
# código
case valor2:
# código
case _:
# código por defecto

🔸 Patrones con | (OR)

Puedes agrupar varios valores en un mismo case usando el operador | (pipe). Así evitas repetir código para valores similares.

case "rojo" | "verde" | "azul":
💡 Recuerda: match-case solo está disponible en Python 3.10 o superior. Es una alternativa moderna y legible a largas cadenas de if-elif-else cuando comparas una misma variable con varios valores.
✏️ 10 Ejercicios para practicar match-case
1. Clasificador de Días match-case
Enunciado: Crea la variable dia. Usa match-case para clasificar:
• "lunes", "martes", "miércoles", "jueves", "viernes" → "Día laboral"
• "sábado", "domingo" → "Fin de semana"
• otro → "Día no válido"
El resultado aparecerá aquí…
2. Calificación con Letra match-case
Enunciado: Con la variable nota (entero 0-10):
• 10 → "Excelente"
• 8 o 9 → "Notable"
• 6 o 7 → "Aprobado"
• 0 a 5 → "Reprobado"
• otro → "Nota inválida"
(Pista: usa | para agrupar valores)
El resultado aparecerá aquí…
3. Estación del Año match-case
Enunciado: Con la variable mes (1-12):
• 12, 1, 2 → "Invierno"
• 3, 4, 5 → "Primavera"
• 6, 7, 8 → "Verano"
• 9, 10, 11 → "Otoño"
• otro → "Mes inválido"
El resultado aparecerá aquí…
4. Tipo de Vehículo match-case
Enunciado: Con la variable vehiculo:
• "auto", "camioneta" → "Vehículo terrestre"
• "moto", "bicicleta" → "Vehículo de dos ruedas"
• "avión", "helicóptero" → "Vehículo aéreo"
• "barco", "submarino" → "Vehículo acuático"
• otro → "Tipo desconocido"
El resultado aparecerá aquí…
5. Rango de Edad match-case
Enunciado: Con la variable edad (entero):
• 0 a 12 → "Niño"
• 13 a 17 → "Adolescente"
• 18 a 64 → "Adulto"
• 65 o más → "Adulto mayor"
• negativos → "Edad no válida"
(Ayuda: puedes usar condiciones con if dentro de case)
El resultado aparecerá aquí…
6. Operación Matemática match-case
Enunciado: Con las variables a, b y operador (string):
• "+" → imprime a + b
• "-" → imprime a - b
• "*" → imprime a * b
• "/" → imprime a / b
• otro → "Operador no soportado"
El resultado aparecerá aquí…
7. Color del Semáforo match-case
Enunciado: Con la variable color:
• "rojo" → "Alto"
• "amarillo" → "Precaución"
• "verde" → "Avanzar"
• otro → "Color desconocido"
El resultado aparecerá aquí…
8. Tipo de Figura Geométrica match-case
Enunciado: Con la variable figura:
• "triángulo" → "3 lados"
• "cuadrado" o "rectángulo" → "4 lados"
• "pentágono" → "5 lados"
• "hexágono" → "6 lados"
• otro → "Figura no reconocida"
El resultado aparecerá aquí…
9. Nivel de Juego match-case
Enunciado: Con la variable nivel (entero 1-5):
• 1 → "Principiante"
• 2 → "Intermedio bajo"
• 3 → "Intermedio"
• 4 → "Avanzado"
• 5 → "Experto"
• otro → "Nivel no válido"
El resultado aparecerá aquí…
10. Código de País (ISO) match-case
Enunciado: Con la variable codigo (string de 2 letras):
• "MX" → "México"
• "US" → "Estados Unidos"
• "ES" → "España"
• "AR" → "Argentina"
• "CO" → "Colombia"
• otro → "País no identificado"
El resultado aparecerá aquí…