只有本用户可以进入程序,其他用户不能进入程序
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
我的猜测是 admin
在 user.txt
文件的顶部。因此,只要您输入管理员密码和用户名,它就会与字段匹配,您 return True,True
。但是,如果您输入其他内容,它会跳过 if 语句和 returns False,False
。你永远不会循环不止一次,因为你的 return 语句总是在第一个循环中终止程序。
我已经对我的代码进行了更改,以便程序 运行 遍历包含该程序的用户名和密码的整个文件,但我得到的反馈是只有用户名 '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
我的猜测是 admin
在 user.txt
文件的顶部。因此,只要您输入管理员密码和用户名,它就会与字段匹配,您 return True,True
。但是,如果您输入其他内容,它会跳过 if 语句和 returns False,False
。你永远不会循环不止一次,因为你的 return 语句总是在第一个循环中终止程序。