首页 > 解决方案 > 我如何创建一个用户名和密码系统,每次使用代码时都能记住不同的用户名?

问题描述

我需要创建一个音乐问答游戏,但只有授权玩家才能玩游戏,所以我想创建一个用户名和密码系统,但是我该怎么做呢?

到目前为止,我有这个:

name = input("Please enter your name. ")
age = input("Now please enter you age. ")

username = name[0:3] + age
print ("Your username has been created and 
is", username, ".")

password = input("Now please create a 
password. ")

file = open("Login.txt","a")
file.write (username)
file.write (",")
file.write (password)
file.write("\n")
file.close()

print ("Your login details have been saved")

它保存了创建的用户名和密码,但是我如何创建一个系统,以便用户可以在此之后从存储的用户名和密码中输入他们的用户名和密码?

标签: pythonpython-3.4

解决方案


我认为您最好使用 CSV 来分隔您的姓名和用户名,这样可以更轻松地搜索用户名和密码对。如果您想使用它,以下应该可以工作:

创建用户名/密码:

import pandas as pd

userpass = pd.read_csv('Login.csv')
name = input("Please enter your name. ")
age = input("Now please enter you age. ")

username = name[0:3] + age
print ("Your username has been created and 
is", username, ".")

password = input("Now please create a 
password. ")

newuserpass = [(username, password)]
newuserpass = pd.DataFrame(newuserpass) #Creates a dataframe of username & pass
userpass = userpass.append(newuserpass) #Adds username and pass dataframe to end of username/password save file
userpass.to_csv('Login.csv')
'''This has now saved the login details. Now to read the login details, where pandas makes this quite easy'''

加载用户名/密码:

loggedin = 0
while loggedin = 0:
    userpass = pd.read_csv('Login.csv')
    inputusername = input('What is your username?')
    inputpassword = input('What is your password?')




    if userpass.Password.values[userpass.Username==inputusername] == inputpassword:
      userpass = 1
      print('Logged in successfully!')

在此代码运行之前,您需要创建一个名为“Login.csv”的空白文件,其中包含用户名、密码作为其内容。


推荐阅读