Semana 8 - Python - If anidados y match-case
Tu Guía de Decisiones en Python
¡Hoy vamos a explorar cómo hacer que nuestros programas tomen decisiones complejas. ¡Vamos a pasar del simple "if-else" a un control total!
1. If Anidados
Es como una muñeca rusa de decisiones: un if dentro de otro. Sirve, pero puede volverse un laberinto si abusas de él.
# Ejemplo: Asignar notas
def calificar_anidado(puntos):
if puntos >= 90:
print("A")
else:
if puntos >= 80:
print("B")
else:
# ...y así sucesivamente.
print("C o inferior")
2. El Poder de `elif`
`elif` (else if) es la forma elegante y ordenada de revisar múltiples condiciones. ¡Adiós a la indentación infinita! Es la herramienta más común para esto.
# El mismo ejemplo, pero más limpio
def calificar_con_elif(puntos):
if puntos >= 90:
print("A")
elif puntos >= 80:
print("B")
elif puntos >= 65:
print("C")
else:
print("D o inferior")
3. `match-case` Moderno
Es la forma más nueva (Python 3.10+) de manejar esto. Es perfecta cuando tienes un valor y quieres ver con cuál de varios casos específicos coincide.
# Ejemplo: Dar descripciones
def descripcion_nota(nota):
match nota:
case "A":
print("Excelente!")
case "B":
print("Muy bien")
case "C":
print("Satisfactorio")
case _: # Caso por defecto
print("Calificación no válida")
¿Cuál Debería Usar?
- If Anidados: Solo si las condiciones son muy complejas y dependen unas de otras de forma enrevesada.
- Elif: Tu opción principal para el 90% de los casos. Es claro, eficiente y todos los programadores Python lo entienden.
- Match-Case: Ideal para menús o cuando comparas un solo valor contra muchas opciones exactas. Es muy legible.
¡Desafío para ti!
Piensa en un programa para un cajero automático. Necesitas darle al usuario opciones como "Consultar Saldo", "Retirar Dinero", "Depositar" y "Salir".
¿Qué estructura usarías para manejar la opción del usuario? ¿`elif` o `match-case`? ¡No hay una sola respuesta correcta, pero una es más legible que la otra! Intenta escribir ambas versiones.