我需要能够验证用户和输入的密码,但当我运行下面的代码时,我只能验证列表中的第一个元素和第二个元素等没有被验证
注意:用户和密码作为类对象存储在列表中[如下:admin(user, password)]...
def login(self):
user_name = input("Please Enter Your Username : ").upper()
password = input("Please Enter Your Password : ").upper()
for obj in self.admins:
while obj.admin_name != user_name and obj.admin_password != password:
print(" Sorry Username and Password Incorrect Please Re-enter for Validation ")
user_name = input("Please Enter Your Username : ").upper()
password = input("Please Enter Your Password : ").upper()
else:
print("Greetings,", user_name, "You are Now Logged in the System")
break
在
else
分支中运行break
时,实际上是在for
循环中调用它。删除break
,它应该可以按您所期望的那样工作只需从
else
语句中删除break
您的
while
循环只检查第一个用户名。您应该切换循环的顺序:这也是一种非常糟糕的检查密码的方法
相关问题 更多 >
编程相关推荐