在python电子邮件应用程序中将新用户/密码添加到字典

在python电子邮件应用程序中将新用户/密码添加到字典,python,dictionary,passwords,Python,Dictionary,Passwords,我一直在为我的ITP100课程的期末考试做准备,但这个项目有点麻烦。它应该是一个电子邮件应用程序,如果您是现有用户,您可以在其中登录,或者创建新的用户名和密码。我可以使用现有用户的密码登录,也可以创建一个新用户名,但当我尝试为其创建新密码时,会不断出错。我肯定是因为我没有正确地更新字典。我对Python还是相当陌生,所以希望这一切都有意义。有什么建议吗 此外,我的程序似乎陷入了“if循环…”中。每当我成功登录到现有用户时,它会显示我已登录,但也会返回原始问题“你是注册用户吗?是/否?按q退出”

我一直在为我的ITP100课程的期末考试做准备,但这个项目有点麻烦。它应该是一个电子邮件应用程序,如果您是现有用户,您可以在其中登录,或者创建新的用户名和密码。我可以使用现有用户的密码登录,也可以创建一个新用户名,但当我尝试为其创建新密码时,会不断出错。我肯定是因为我没有正确地更新字典。我对Python还是相当陌生,所以希望这一切都有意义。有什么建议吗

  • 此外,我的程序似乎陷入了“if循环…”中。每当我成功登录到现有用户时,它会显示我已登录,但也会返回原始问题“你是注册用户吗?是/否?按q退出”
非常感谢您的帮助。多谢各位

import re

users = {}
users={"nkk202": "konrad", "jfk101": "frederick"}

choice = None
login = None
createPassword = None
createUser = None
createLogin = None






print("Welcome to Kmail. The most trusted name in electronic mail.")
print("\nLet's get started")

while choice != "q":
    choice = input("Are you a registered user? y/n? Press q to quit: ")

    if choice == "q":
        print("Thank you for using Kmail. Goodbye.")

    if choice == "n":
        print("Okay then, let's set up an account for you then.")
        createUser = input("Create login name: ")

        if createUser in users:
             print("I'm sorry, that username is already in use. Please try another!\n")
        else:
             createPassword = input("Enter a password: ")
             if len(createPassword) <5:
                    print("I'm sorry, this password is too short. Please try another.")
             passValue = {1:'Weak', 2:'Good', 3:'Excellent'}
             passStrength = dict.fromkeys(['has_upper', 'has_lower', 'has_num'], False)
             if re.search(r'[A-Z]', createPassword):
                passStrength['has_upper'] = True
             if re.search(r'[a-z]', createPassword):
                passStrength['has_lower'] = True
             if re.search(r'[0-9]', createPassword):
                passStrength['has_num'] = True
             value = len([b for b in passStrength.values() if b])

             print ('Password is %s' % passValue[value])
             users.update((createUser, createPassword))


    elif choice == "y":
        login = input("Enter your username: ")

        if login in users:
         password = input("Enter your password: ")

        if users[login] == password:
                       print("Welcome", login, "!")

        else:
            print
            print("I'm sorry, either the password/username was unaccaptable, or does not exist. Please try again. \n")
重新导入
用户={}
用户={“nkk202”:“康拉德”,“jfk101”:“弗雷德里克”}
选择=无
登录=无
createPassword=None
createUser=None
createLogin=None
打印(“欢迎使用Kmail。电子邮件中最受信任的名称。”)
打印(“\n开始设置”)
而选择!=“q”:
选择=输入(“您是注册用户吗?是/否?按q退出:”)
如果选项==“q”:
打印(“感谢您使用Kmail。再见。”)
如果选项==“n”:
打印(“好吧,那么让我们为您设置一个帐户。”)
createUser=input(“创建登录名:”)
如果在用户中创建用户:
打印(“对不起,该用户名已被使用。请尝试其他!\n”)
其他:
createPassword=输入(“输入密码:”)

如果len(createPassword)似乎是您想要的

users[createUser] = createPassword

非常好,谢谢!!!现在我只需要把它从那个该死的循环中弄出来。