🔀 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í…