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

时间:2013-11-30 18:23:06

标签: python dictionary passwords username

我在这个程序上遇到了一些麻烦,我一直在为ITP 100课程的部分决赛工作。它应该是一个电子邮件应用程序,如果您是现有用户,您可以登录,或创建新的用户名和密码。我能够使用他们的密码登录现有用户,并且我可以创建一个新的用户名,但是当我尝试为其创建新密码时,我不断收到错误。我确定这是因为我没有正确更新字典。我仍然是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")

1 个答案:

答案 0 :(得分:0)

好像你只想要

users[createUser] = createPassword