因此,我要创建此登录系统,并希望将新用户名添加到现有列表中,然后将其保存在该列表中。
代码:
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()
答案 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.")
注意:
所有这些名称和密码均已组成。您可以使用任何您想要的。