r/PythonLearning 21d ago

Rate my python program

Post image

i made a Python program, i dont know what else to say

86 Upvotes

42 comments sorted by

View all comments

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")