在我的程序中,我要求用户提供某些详细信息(即出生日期)。用户注册后,详细信息已经写入文件“ Reg and Login”。
我专注于用户名和密码,以便用户登录。在文件中,用户名写在第4行的索引3,密码写在第5行的索引4。
我已经创建了一个函数。在该函数中,我使用了“枚举”文件方法来将“ usern”和“ passw”与列表中现有的用户名和密码进行比较。
但是,存在一些基本的逻辑错误-查找EACH行并输出:“用户名/密码不正确”,直到找到用户名或密码。它总是输出“您尚未登录”。我该如何解决?尝试使用枚举方法
def loginF(usern,passw):
Login = False
f = open("Reg and Login","r")
data = f.readlines()
User_check = False
Pass_check = False
for usern, line in enumerate(data):
if usern == 3:
print("Username is correct")
User_check = True
if usern != 3:
print("Username is incorrect")
for passw, line in enumerate(data):
if passw == 4:
print("Password is correct")
User_check = True
if passw != 4:
print("Password is incorrect")
if User_check == True and Pass_check == True:
print("You have successfully logged in")
else:
print("You have not logged in")
f.close()
usern = 0
passw = 0
choice = input("Do you want to login (y/n): ")
if choice == "y":
usern = input("Please enter your USERNAME: ")
passw = input("Please enter your PASSWORD: ")
print(loginF(usern,passw))