CODEZEROINTERACTIVE

Chapter 9 / 15

Parte 18 — Condiciones anidadas

Condiciones con if, else y elif, validaciones, decisiones de menú y reglas para MiniFinance.

Lesson 1951%

19 / 26 lessons in this chapter

Parte 18 — Condiciones anidadas

1 / 1 in this part

Current chapter

Chapter 9 — Condiciones: enseñar al programa a tomar decisiones

Self-paced

Parte 18 — Condiciones anidadas

Un if dentro de otro

Podemos colocar una condición dentro de otra.

python terminal
cuenta_activa = True
saldo_actual = 1_000
gasto = 500

if cuenta_activa:
    if gasto <= saldo_actual:
        print("Gasto permitido.")
    else:
        print("Saldo insuficiente.")
else:
    print("La cuenta está inactiva.")

Esto se conoce como una condición anidada.


Niveles de indentación

python terminal
if cuenta_activa:
    print("Cuenta activa.")

    if gasto <= saldo_actual:
        print("Saldo suficiente.")

El primer bloque utiliza cuatro espacios.

El bloque interior utiliza ocho espacios.

text terminal
if principal:
    instrucción principal

    if secundaria:
        instrucción secundaria

Evitar demasiados niveles

Esto puede volverse difícil de leer:

python terminal
if cuenta_activa:
    if not cuenta_bloqueada:
        if gasto > 0:
            if gasto <= saldo_actual:
                print("Gasto aprobado.")

Podemos simplificar con and:

python terminal
if (
    cuenta_activa
    and not cuenta_bloqueada
    and gasto > 0
    and gasto <= saldo_actual
):
    print("Gasto aprobado.")

O con validaciones mediante elif.


Cuándo son útiles

Las condiciones anidadas son útiles cuando la segunda pregunta solo tiene sentido si la primera se cumple.

Ejemplo:

python terminal
if opcion == "2":
    ingreso = int(input("Monto del ingreso: "))

    if ingreso > 0:
        print("Ingreso válido.")
    else:
        print("Monto inválido.")

Solo pedimos y validamos el ingreso si la opción seleccionada fue "2".