CODEZEROINTERACTIVE

Chapter 9 / 15

Parte 17 — Procesar un menú

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

Lesson 1851%

18 / 26 lessons in this chapter

Parte 17 — Procesar un menú

1 / 1 in this part

Current chapter

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

Self-paced

Parte 17 — Procesar un menú

Mostrar opciones

python terminal
print("1. Ver saldo")
print("2. Registrar ingreso")
print("3. Registrar gasto")
print("4. Ver resumen")
print("5. Salir")

opcion = input("Selecciona una opción: ").strip()

Reaccionar a la opción

python terminal
if opcion == "1":
    print("Mostrando saldo...")
elif opcion == "2":
    print("Registrando ingreso...")
elif opcion == "3":
    print("Registrando gasto...")
elif opcion == "4":
    print("Mostrando resumen...")
elif opcion == "5":
    print("Cerrando MiniFinance...")
else:
    print("Opción inválida.")

La opción permanece como texto

Comparamos:

python terminal
opcion == "1"

No:

python terminal
opcion == 1

Porque input() devuelve un str.


Ejecutar una operación real

python terminal
saldo_actual = 1_000
total_ingresos = 0
total_gastos = 0

print("1. Ver saldo")
print("2. Registrar ingreso")
print("3. Registrar gasto")
print("4. Salir")

opcion = input("Selecciona una opción: ").strip()

if opcion == "1":
    print(f"Saldo actual: {saldo_actual} CRC")

elif opcion == "2":
    ingreso = int(input("Monto del ingreso: "))

    if ingreso > 0:
        saldo_actual += ingreso
        total_ingresos += ingreso
        print("Ingreso registrado.")
    else:
        print("Monto inválido.")

elif opcion == "3":
    gasto = int(input("Monto del gasto: "))

    if gasto <= 0:
        print("El gasto debe ser mayor que cero.")
    elif gasto > saldo_actual:
        print("Saldo insuficiente.")
    else:
        saldo_actual -= gasto
        total_gastos += gasto
        print("Gasto registrado.")

elif opcion == "4":
    print("Cerrando MiniFinance...")

else:
    print("Opción inválida.")

print(f"Saldo final: {saldo_actual} CRC")

Limitación actual

El menú solamente se muestra una vez.

Después de procesar la opción, el programa termina.

En el próximo capítulo utilizaremos bucles para repetir el menú hasta que el usuario decida salir.