Мой код в целом работает, но имеет некоторые ошибки.Когда вы набираете «master», он запрашивает пароль, а после ввода генерирует пароль для «обычных» пользователей.
О «обычных» пользователях: генерирует пароль, но при вводе он не работает и генерирует другой.Я попытался изменить расположение useraccess () ниже usertype () и продолжаю делать то же самое.Также другой, где "useraccess (user =" normal ", pswd = None") "с usertype () создает переменную типа" functions = "", используя ее с вызывающими функциями ниже операторов типа "functions = masterkey ()"и «functions = passwordgenerator ()» с «return functions» в конце.Остальное, что вы можете себе представить ...
import getpass
import uuid
#generate password for normal users
def passwordgenerator(pswdlength = 5):
random = str(uuid.uuid4().int) #convierte el uuid a un string en enteros
random = random.replace("-", " ") #reemplaza el uuid en el "-"
return random[0:pswdlength] #imprime la contrasenha (se reemplazara despues por una funcion que mande al user)
#create a password for the admin
def masterkey():
masterpswd = 519 #valor del masterkey
admpswd = getpass.getpass(prompt="Ingresa tu contrasenha: ")
if admpswd == "519":
print ("youre in")
else:
print ("try it again")
def useraccess(user = "normal"):
userpassword = print(passwordgenerator())
while True:
allpswd = getpass.getpass("Password: ")
if allpswd == userpassword:
print("hi")
break
else:
print("you didnt made it")
break
def usertype():
user = str(input("Type of user: Normal o Master "))
while True:
if user.lower() == "master":
print(masterkey())
break
elif user.lower() == "normal":
print(useraccess())
break
#calling functions
usertype()
useraccess()
Я ожидаю, что не будет дважды печатать сгенерированные пароли и "обычный" пароль пользователя, чтобы работать при его написании.