登录-使用枚举方法将用户名和密码与文件进行比较

时间:2019-05-23 18:04:27

标签: python-3.x

在我的程序中,我要求用户提供某些详细信息(即出生日期)。用户注册后,详细信息已经写入文件“ 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))

0 个答案:

没有答案