只有本用户可以进入程序,其他用户不能进入程序

Only the user can enter the program, but other users cant enter the program

我已经对我的代码进行了更改,以便程序 运行 遍历包含该程序的用户名和密码的整个文件,但我得到的反馈是只有用户名 'admin' 可以拥有访问程序,而不是其他用户。

是否有另一种方法可以让程序 运行 遍历整个文件并查看输入的用户名是否与文件中的用户名相同?

我的代码如下:

定义登录():

username = input("Enter your username: ")
password = input("Enter your password: ")

for line in open('user.txt', 'r').readlines():
    field = line.strip().split(", ")
    if username == field[0] and password == field[1]:
        print('Welcome' + username)
        return True, field[0] == "admin"

    return False, False

login_success, is_admin = 登录()

如果 login_success 和 is_admin: display_admin_menu_options() elif login_success: display_menu_options() 别的: print("用户名或密码错误!")

您的外部 return 语句位于 for-loop 内部。尝试:

def login():
    username = input("Enter your username: ")
    password = input("Enter your password: ")

    for line in open('user.txt', 'r').readlines():
        field = line.strip().split(", ")
        if username == field[0] and password == field[1]:
            print('Welcome' + username)
            return True, field[0] == "admin"

    return False, False

我的猜测是 adminuser.txt 文件的顶部。因此,只要您输入管理员密码和用户名,它就会与字段匹配,您 return True,True。但是,如果您输入其他内容,它会跳过 if 语句和 returns False,False。你永远不会循环不止一次,因为你的 return 语句总是在第一个循环中终止程序。