我试图做一个基本的程序,让用户输入用户名和密码,如果它在一个文件中看到一个输出'访问授权',但密码不会匹配时,与文件数据进行比较,即使他们是相同的
我已经尝试设置数据保存密码作为一个变量,但没有工作
username = str(input('What is your username'))
password = str(input('What is your password'))
accountlogin = 0
file = open('login.txt','r')
for line in file:
seperate = line.split(',')
print(seperate[0])
if username == seperate[0]:
accountlogin = accountlogin + 1
for line in file:
if password == seperate[1]:
accountlogin = accountl`enter code here`ogin + 1
print(accountlogin)
if accountlogin == 2:
print('Access Granted')
正确的用户名,使其等于3,这样密码位就不能工作
循环两次有两个问题:
在第一个循环之后,文件光标位于文件的末尾。没什么可吃的了。你可以从头开始,但是…
检查用户名是否存在于文件中的任何位置,密码是否存在于文件中的任何位置。相反,您应该让它们一起存在于相同的记录中。所以把这两个条件放在同一个循环中
像这样:
甚至只是:
另外,必须注意不要将密码存储在纯文本中
您可以使用下面的单个循环来完成
input()
返回str,因此使用str()
将其转换为字符串是多余的(不是必需的)。我还使用with
关键字打开login.txt
文件Read此线程了解with
接下来,我们将拆分行,并将前两个逗号分隔的字符串作为username&;分别从该行输入密码,并忽略该行中以逗号分隔的其余字符串(如果有)相关问题 更多 >
编程相关推荐