Código Python – Simulación de un Cajero

Este código simula un cajero automático donde puedes consultar saldo, retirar dinero, depositar dinero y salir del programa.

saldo = 1000  # Saldo inicial

def mostrar_menu():
    print("1. Consultar saldo")
    print("2. Retirar dinero")
    print("3. Depositar dinero")
    print("4. Salir")

def consultar_saldo():
    print("Saldo disponible:", saldo)

def retirar_dinero(monto):
    global saldo
    if monto <= saldo:
        saldo -= monto
        print("Retiro exitoso. Saldo restante:", saldo)
    else:
        print("Saldo insuficiente")

def depositar_dinero(monto):
    global saldo
    saldo += monto
    print("Depósito exitoso. Saldo actual:", saldo)

while True:
    mostrar_menu()
    opcion = int(input("Seleccione una opción: "))

    if opcion == 1:
        consultar_saldo()
    elif opcion == 2:
        monto_retiro = int(input("Ingrese el monto a retirar: "))
        retirar_dinero(monto_retiro)
    elif opcion == 3:
        monto_deposito = int(input("Ingrese el monto a depositar: "))
        depositar_dinero(monto_deposito)
    elif opcion == 4:
        print("Gracias por usar el cajero. ¡Hasta luego!")
        break
    else:
        print("Opción no válida. Por favor, elija una opción válida.")

Versión simplificada:

saldo = 1000

while True:
    print("1. Saldo\n2. Retirar\n3. Depositar\n4. Salir")
    opcion = int(input("Opción: "))

    if opcion == 1: print("Saldo:", saldo)
    elif opcion == 2: saldo -= int(input("Monto a retirar: "))
    elif opcion == 3: saldo += int(input("Monto a depositar: "))
    elif opcion == 4: break
    else: print("Opción inválida.")

Pueder ir al artículo principal:

Códigos Sencillos hechos en Python

2 thoughts on “Código Python – Simulación de un Cajero

  1. mport os
    import hashlib

    Función para crear y guardar la contraseña en un archivo de forma segura

    def crear_contraseña():
    contraseña = input(“Ingrese su nueva contraseña: “)
    ruta_archivo = “/storage/emulated/0/Documents/contraseña_hash.txt”

    # Se utiliza hash SHA-256 para almacenar la contraseña de manera segura
    hashed_contraseña = hashlib.sha256(contraseña.encode()).hexdigest()

    with open(ruta_archivo, 'w') as archivo:
    archivo.write(hashed_contraseña)

    print("Contraseña creada y guardada correctamente.")

    Función para verificar la contraseña al inicio del programa

    def verificar_contraseña():
    ruta_archivo = “/storage/emulated/0/Documents/contraseña_hash.txt”

    if os.path.exists(ruta_archivo):
    with open(ruta_archivo, 'r') as archivo:
    contraseña_guardada = archivo.read().strip()
    intentos = 3

    while intentos > 0:
    contraseña_ingresada = input("Ingrese su contraseña: ")
    hashed_contraseña_ingresada = hashlib.sha256(contraseña_ingresada.encode()).hexdigest()

    if hashed_contraseña_ingresada == contraseña_guardada:
    print("Contraseña correcta. Acceso permitido.")
    return True
    else:
    print("Contraseña incorrecta. Intentos restantes:", intentos)
    intentos -= 1

    print("Número máximo de intentos alcanzado. Saliendo del programa.")
    return False
    else:
    print("No se encontró una contraseña. Debe crear una nueva.")
    crear_contraseña()
    return True

    Función para cambiar la contraseña

    def cambiar_contraseña():
    ruta_archivo = “/storage/emulated/0/Documents/contraseña_hash.txt”
    with open(ruta_archivo, ‘r’) as archivo:
    contraseña_guardada = archivo.read().strip()

    contraseña_actual = input("Ingrese su contraseña actual: ")
    hashed_contraseña_actual = hashlib.sha256(contraseña_actual.encode()).hexdigest()

    if hashed_contraseña_actual == contraseña_guardada:
    nueva_contraseña1 = input("Ingrese la nueva contraseña: ")
    nueva_contraseña2 = input("Ingrese la nueva contraseña nuevamente: ")

    if nueva_contraseña1 == nueva_contraseña2:
    # Almacenar la nueva contraseña
    hashed_nueva_contraseña = hashlib.sha256(nueva_contraseña1.encode()).hexdigest()
    with open(ruta_archivo, 'w') as archivo:
    archivo.write(hashed_nueva_contraseña)
    print("Contraseña cambiada exitosamente.")
    else:
    print("Las nuevas contraseñas no coinciden. No se ha cambiado la contraseña.")
    else:
    print("Contraseña actual incorrecta. No se ha cambiado la contraseña.")

    Resto del código

    if verificar_contraseña():
    saldo = 1000 # Saldo inicial

    def mostrar_menu():
    print("1. Consultar saldo")
    print("2. Retirar dinero")
    print("3. Depositar dinero")
    print("4. Cambiar contraseña")
    print("5. Salir")

    def consultar_saldo():
    print("Saldo disponible:", saldo)

    def retirar_dinero(monto):
    global saldo
    if monto <= saldo:
    saldo -= monto
    print("Retiro exitoso. Saldo restante:", saldo)
    else:
    print("Saldo insuficiente")

    def depositar_dinero(monto):
    global saldo
    saldo += monto
    print("Depósito exitoso. Saldo actual:", saldo)

    while True:
    mostrar_menu()
    opcion = int(input("Seleccione una opción: "))

    if opcion == 1:
    consultar_saldo()
    elif opcion == 2:
    monto_retiro = int(input("Ingrese el monto a retirar: "))
    retirar_dinero(monto_retiro)
    elif opcion == 3:
    monto_deposito = int(input("Ingrese el monto a depositar: "))
    depositar_dinero(monto_deposito)
    elif opcion == 4:
    cambiar_contraseña()
    elif opcion == 5:
    print("Gracias por usar el cajero. ¡Hasta luego!")
    break
    else:
    print("Opción no válida. Por favor, elija una opción válida.")

Deja un comentario