Aforismos

El Lecho de Procusto Aforismos de Nassim Nicholas Taleb 🤔 Cargando aforismo... Elige un aforismo: Tamaño del Emoji 80px Aforismo Aleatorio

Semana 8 - Python - If anidados y match-case

Control en Python: if-anidado, elif 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.

Contenido adaptado del material de Ceibal - Ciencias de la Computación. ¡A programar se ha dicho!

Entradas populares de este blog

Money Clicker

Videojuegos