开发者社区> 问答> 正文

添加新元素后如何更新列表

因此,我正在制作此登录系统,并希望将新的用户名添加到现有列表中,然后将其保存在该列表中。

码:

def login():

usernames = ["username1", "username2", "username3"]
passwords = ["pass1", "pass2", "pass3"]

print("Login")

username = input("Username: ")
if username not in usernames:
    print("User doesn't exist")
    input("Make an account? ")
    if "yes":
        print("Account Setup")
        new_username = input("Username: ")
        usernames.append(new_username)
        print(usernames)
        new_password = input("Password: ")
        passwords.append(new_password)
        print(passwords)
        login()
    else:
        sys.exit()

else:
    password = input("Password: ")
    if password not in passwords:
        print("Incorrect password")
        login()
    elif usernames[0] != passwords[0]:
        print("Incorrect password")
        login()
    elif usernames[1] != passwords[1]:
        print("Incorrect password")
        login()
    elif usernames[2] != passwords[2]:
        print("Incorrect password")
        login()

当我添加新用户时,将保存他们的信息,但是当使用login()并重新开始登录过程时,输入数据将丢失,我刚刚创建的帐户不再存在。

if "yes":
        print("Account Setup")
        new_username = input("Username: ")
        usernames.append(new_username)
        print(usernames)
        new_password = input("Password: ")
        passwords.append(new_password)
        print(passwords)
        login()

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 19:58:11 341 0
1 条回答
写回答
取消 提交回答
  • 每次调用登录功能时,都将密码和用户名变量重新设置为开始。在这一行:

    usernames = ["username1", "username2", "username3"]
    passwords = ["pass1", "pass2", "pass3"]
    

    如果将这些行放在函数之外,它将起作用。

    顺便说一句:

    不要将两个列表用于密码和用户名。它效率低下,不必要地复杂。使用字典。像这样:

    logins = {"Jack": 1234, "Paul": 4321}
    

    如果要两个添加新的登录名,请使用:

    logins["Oliver"] = 7531
    

    如果要检查用户名是否存在:

    if "Jack" in logins:
        print("Jack is a username")
    

    检查密码是否正确:

    if logins[username] == inputed_password:
        print("Password is correct.")
    

    注意:

    所有这些名称和密码均已组成。您可以使用任何您想要的。

    回答来源:stackoverflow

    2020-03-23 19:58:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载