0% encontró este documento útil (0 votos)
19 vistas6 páginas

Introducción a match-case en Python

Uso de match en Python

Cargado por

antoniog21cr
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas6 páginas

Introducción a match-case en Python

Uso de match en Python

Cargado por

antoniog21cr
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

🔶 Match-case

✅ Definición

Python no tiene una estructura switch como otros lenguajes como C, Java o
JavaScript. Sin embargo, desde Python 3.10 se introdujo la sentencia match-
case, que permite crear estructuras similares a un switch.

✅ Características

 Se basa en patrones de coincidencia (pattern matching).


 Se usa la sintaxis match variable: seguida de varios case.
 Funciona muy bien con valores exactos, tuplas, listas, tipos de datos,
estructuras complejas.
 Más potente que un switch tradicional, ya que permite condiciones más
complejas.

✅ Sintaxis Básica

valor = 2

match valor:
case 1:
print("Uno")
case 2:
print("Dos")
case 3:
print("Tres")
case _:
print("Otro valor")

🔸 case _: es similar a default: en otros lenguajes.

✅ Usos

 Menús de opciones.
 Evaluación de variables.
 Sustitución de múltiples if-elif-else.
 Validación de datos.
 Juegos, simulaciones, etc.

✅ Ejemplos

📌 Ejemplo 1: Menú de operaciones

opcion = input("Ingrese una opción (1: Sumar, 2:


Restar): ")

match opcion:
case "1":
print("Has elegido sumar.")
case "2":
print("Has elegido restar.")
case _:
print("Opción no válida.")

📌 Ejemplo 2: Días de la semana

dia = input("Ingrese el número del día (1-7): ")

match dia:
case "1":
print("Lunes")
case "2":
print("Martes")
case "3":
print("Miércoles")
case "4":
print("Jueves")
case "5":
print("Viernes")
case "6":
print("Sábado")
case "7":
print("Domingo")
case _:
print("Día inválido")
🔷 10 EJERCICIOS RESUELTOS

1. Día de la semana (como el ejemplo anterior).

2. Calificación cualitativa

nota = int(input("Ingrese la nota (1-5): "))

match nota:
case 1:
print("Muy deficiente")
case 2:
print("Insuficiente")
case 3:
print("Suficiente")
case 4:
print("Notable")
case 5:
print("Excelente")
case _:
print("Nota no válida")

3. Semáforo

color = input("Color del semáforo: ").lower()

match color:
case "rojo":
print("Detenerse")
case "amarillo":
print("Precaución")
case "verde":
print("Avanzar")
case _:
print("Color no reconocido")

4. Estaciones del año

mes = int(input("Ingrese el número del mes: "))

match mes:
case 12 | 1 | 2:
print("Invierno")
case 3 | 4 | 5:
print("Primavera")
case 6 | 7 | 8:
print("Verano")
case 9 | 10 | 11:
print("Otoño")
case _:
print("Mes no válido")

5. Tipo de comida

comida = input("¿Qué vas a comer? ").lower()

match comida:
case "pizza":
print("Comida italiana")
case "sushi":
print("Comida japonesa")
case "gallo pinto":
print("Comida costarricense")
case _:
print("Comida no identificada")

6. Clasificación por edades

edad = int(input("Ingrese la edad: "))

match edad:
case edad if edad < 13:
print("Niño")
case edad if edad < 18:
print("Adolescente")
case edad if edad < 60:
print("Adulto")
case _:
print("Adulto mayor")

7. Calcular precio por tipo de entrada

tipo = input("Tipo de entrada (normal, estudiante,


adulto mayor): ").lower()

match tipo:
case "normal":
print("Precio: ₡3000")
case "estudiante":
print("Precio: ₡1500")
case "adulto mayor":
print("Precio: ₡1000")
case _:
print("Tipo no reconocido")

8. Tipo de animal

animal = input("Dime un animal: ").lower()

match animal:
case "perro" | "gato":
print("Animal doméstico")
case "tigre" | "león":
print("Animal salvaje")
case _:
print("Animal no identificado")

9. Menú de frutas

fruta = input("Elige una fruta (manzana, banano,


naranja): ")

match fruta:
case "manzana":
print("Fruta roja")
case "banano":
print("Fruta amarilla")
case "naranja":
print("Fruta anaranjada")
case _:
print("Fruta no disponible")

10. Código de país

codigo = input("Ingrese código de país: ")

match codigo:
case "506":
print("Costa Rica")
case "1":
print("[Link] o Canadá")
case "34":
print("España")
case _:
print("Código no identificado")

11. Rango de edad

edad = int(input("Ingrese su edad: "))

match edad:
case edad if 0 <= edad <= 12:
print("Eres un niño.")
case edad if 13 <= edad <= 17:
print("Eres un adolescente.")
case edad if 18 <= edad <= 64:
print("Eres un adulto joven.")
case edad if edad >= 65:
print("Eres un adulto mayor.")
case _:
print("Edad no válida.")

🔷 Resuelva los siguientes ejercicios

1. El usuario ingresa el nombre de un electrodoméstico y el programa le dice si


es de cocina o de limpieza.
2. Pida al usuario el nombre de una red social y diga si es de mensajería, imágenes
o videos.
3. Ingrese un número del 1 al 7 y diga qué día de la semana es y si es laboral o
fin de semana.
4. El usuario escribe un color y el programa le dice si es un color cálido, frío o
neutro.
5. Escriba un programa que muestre un menú de opciones para la compra de
combustible en una gasolinera. Las opciones son Gasolina Regular, Gasolina
Super, Diesel y Gas. El precio de la Regular es 575, la Super 625, el Diesel 600
y el Gas 450 el litro.
6. Escriba un programa que muestre un menú de opciones para la compra de
entradas al cine. Debe mostrar 5 títulos de películas y alguna debe estar en
promoción con el valor de la entrada más barata al precio normal. Cada película
se proyecta en salas diferentes y un valor de entrada diferente. Debe solicitarle
al usuario cuál película desea ver y la cantidad de entradas. Al final debe
mostrar el desglose de la compra.

También podría gustarte