Está en la página 1de 5

import time

from os import system

base_de_datos = [
{
"nombre": "maurice",
"usuario": "miau",
"password": "otaku99",
"saldo": 5000000,
"admin":False,
"asesor":False
},
{
"nombre": "santos",
"usuario": "petro",
"password": "uribe",
"saldo": 50000000,
"admin":False,
"asesor":False
},
{
"nombre": "ana",
"usuario": "aña",
"password": "123456",
"saldo": 0,
"admin":False,
"asesor":False
},
{
"nombre": "sergio",
"usuario": "garrido",
"password": "12",
"saldo": 0,
"admin":True,
"asesor":False
},
{
"nombre": "oswaldo",
"usuario": "goku",
"password": "98765",
"saldo": 0,
"asesor": True,
"admin": False
}
]
dict = {
"nombre": "",
"usuario": "",
"password": "",
"saldo": "",
"admin":False,
"asesor":False
}

def nombre_user(base_de_datos):
nombre = input("digite el nombre: ")
dict["nombre"] = nombre
return new_usuario(base_de_datos)
def new_usuario(base_de_datos):
usuario = input("Digite un usuario: ")
for user in base_de_datos:
if user["usuario"] == str(usuario):
print("El usuario ya existe, intente con otro nombre de usuario: ")
return new_usuario(base_de_datos)
dict["usuario"] = usuario

password_user = input("Digite una contraseña: ")


dict["password"] = password_user

saldo = int(input("Cuanto dinero quiere depositar: "))


while saldo < 0:
print("No se puede poner un saldo negativo")
saldo = int(input("Cuanto dinero quiere depositar: "))
dict["saldo"] = saldo
base_de_datos.append(dict)
print("Usuario Creado Con Exito :)")
time.sleep(2)
system("clear")
return iniciarsecion()

def saldo_user(base_de_datos):
user_sald = input("Ingrese el usuario para ver saldo: ")
for user in base_de_datos:
if user['usuario'] == str(user_sald):
print(f"{user['nombre']} ===> saldo:{user['saldo']}")

def menu_asesor(base_de_datos):
print("6)Crear un nuevo usuario: ")
print("7)Ver saldo de un usuario: ")
res=int(input())
if res == 7:
return saldo_user(base_de_datos)
elif res == 6:
return nombre_user(base_de_datos)

def menu_admin(base_de_datos):
print("1)Para ver SALDOS : ")
print("2)CERRAR SESION: ")
print("3)CERRAR SISTEMA : ")

res=int(input())
if res == 1:
for user in base_de_datos:
print(f"{user['nombre']} ===> saldo:{user['saldo']}")
return menu_admin(base_de_datos)
elif res == 2:

return iniciarsecion()
elif res == 3:
return exit()

def menu(usuario):
print("Digite 1 Para ver su saldo : ")
print("Digite 2 Para retirar dinero : ")
print("Digite 3 Para depositar dinero : ")
print("Digite 4 Para transferir dinero : ")
print("Digite 5 Para cerrar sesion : ")
res = int(input())
if res == 1:
saldo = revisar_saldo(usuario, base_de_datos)
print(saldo)
return menu(usuario)
elif res == 2:
res2 = retirar_saldo(usuario, base_de_datos)
print(f"Te queda un saldo de: {res2}")
return menu(usuario)
elif res == 3:
res3 = depositar_dinero(usuario, base_de_datos)
print(f"Su nuevo saldo es: {res3}")
return menu(usuario)

elif res == 4:
res4 = trasferencias(usuario, base_de_datos)
print(f"esta es la cantidad de dinero que transferiste:{res4}")
return menu(usuario)

elif res == 5:
for i in base_de_datos:
if i ['usuario']==usuario:
nombre= i['nombre']
print(f"{nombre or usuario} cerraste sesion, gracias por confiar en nuestro
servicio")
return iniciarsecion()

def loggin(usuario, password, DB):


for user in DB:
if user['usuario'] == str(usuario) and user['password'] == str(password):
if user["admin"]:
return "admin"
if user['asesor']:
return "asesor"
return "Iniciaste sesion"

return "Datos incorrectos"

def revisar_saldo(usuario, DB):


for user in DB:
if user['usuario'] == usuario:
return user['saldo']

return "usuario no existe"

def retirar_saldo(usuario, DB):


cantidad = int(input("ingrese la cantidad de dinero que desea retirar "))
for user in DB:
if user['usuario'] == usuario:
if cantidad > user['saldo']:
print("su saldo es insuficiente")
return retirar_saldo(usuario, DB)
else:
pass

for user in DB:


if user['usuario'] == usuario:
user['saldo'] = user['saldo'] - cantidad
return user['saldo']

return "saldo no disponible"

def depositar_dinero(usuario, DB):


cantidad = int(input("ingrese la cantidad de dinero que desea depositar "))
for user in DB:
if user['usuario'] == str(usuario):
user['saldo'] = user['saldo'] + cantidad
return user['saldo']

return "No encontrado"

def trasferencias(usuario, DB):


usuario_destino = input("ingrese el usuario al que quieras transferir ")
cantidad = int(input("ingrese la cantidad de dinero que desea transferir "))
existe_user = False
for user in DB:
if user['usuario'] == usuario_destino:
existe_user = True

if existe_user:
for user in DB:
if user['usuario'] == usuario:
if cantidad < 0:
print("No se pueden ingresar valores negativos")
return trasferencias(usuario, DB)
if cantidad > user['saldo']:
print("saldo insuficiente")
return trasferencias(usuario, DB)
user['saldo'] = user['saldo'] - cantidad
print(f"te queda un saldo de {user['saldo']}")

for user in DB:


if user['usuario'] == str(usuario_destino):
user['saldo'] = user['saldo'] + cantidad
return cantidad
else:
print('usuario no encontrado')
return trasferencias(usuario, DB)
return "no se encontro usuario"
def iniciarsecion():

print("********* BIENVENIDO AL BANCO HACKEAME ************")


print()
usuario = input("Ingrese su usuario ")
password = input("Ingrese su password ")

res_loggin = loggin(usuario, password, base_de_datos)


if res_loggin == "Iniciaste sesion":
menu(usuario)
if res_loggin=="admin":
return menu_admin(base_de_datos)
if res_loggin=="asesor":
return menu_asesor(base_de_datos)
else:
print("datos incorrectos")
time.sleep(1.5)
system("clear")
return iniciarsecion()
iniciarsecion()

También podría gustarte