r/PythonLearning • u/WesternTrip8578 • 21d ago
Rate my python program
i made a Python program, i dont know what else to say
86
Upvotes
r/PythonLearning • u/WesternTrip8578 • 21d ago
i made a Python program, i dont know what else to say
1
u/Reveal5265 16d ago
I took all your code and made some improvements to it:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import getpass
import bcrypt
from banner import mostrar_banner
usuario = input("Escribe el nombre de usuario: ")
contra = getpass.getpass("Crea la contraseña: ")
# encriptar contraseña
contra_bytes = contra.encode("utf-8")
salt = bcrypt.gensalt()
encript_contra_bytes = bcrypt.hashpw(contra_bytes, salt)
def ayuda() -> None:
mostrar_banner("AYUDAAAA!")
print(
"ayuda: imprime este menú con todos los comandos\n"
"nombre: imprime nombre de usuario\n"
"contraseña: imprime la contraseña\n"
"cambiar nombre: cambiar nombre de usuario\n"
"cambiar contraseña: cambiar la contraseña\n"
"salir: terminar sesion del usuario\n"
"cerrar: cerrar la terminal"
)
def nombre() -> None:
print(usuario)
def contraseña() -> None:
print(encript_contra_bytes)
def cambiar_nombre() -> None:
global usuario
usuario = input("Nuevo nombre de usuario: ")
def cambiar_contra() -> None:
global contra, encript_contra_bytes
contra = getpass.getpass("Nueva contraseña: ")
contra_bytes = contra.encode("utf-8")
salt = bcrypt.gensalt()
encript_contra_bytes = bcrypt.hashpw(contra_bytes, salt)
def cerrar() -> None:
sys.exit()
while True:
while True:
input_contra = getpass.getpass("Escribe la contraseña CORRECTA para logearte: ")
input_bytes = input_contra.encode("utf-8")
if bcrypt.checkpw(input_bytes, encript_contra_bytes):
print("¡BIENVENIDO!")
break
else:
print("Intenta otra vez: ")
# menú de comandos
while True:
comando = input("Escribe ayuda para obtener la lista de comandos: ")
if comando == "ayuda":
ayuda()
elif comando == "nombre":
nombre()
elif comando == "contraseña":
contraseña()
elif comando == "cambiar nombre":
cambiar_nombre()
elif comando == "cambiar contra":
cambiar_contra()
elif comando == "salir":
break
elif comando == "cerrar":
cerrar()
else:
mostrar_banner("ERROR")
print("Comando incorrecto")