我要为每个使用我代码的假定用户编写一个if和else语句,以确保他们是谁。我想知道有没有更有效的方法来做这件事。我希望代码看起来像是第2行到第7行,但是目前我不得不让它看起来像第9-14行。有没有办法让2号线到7号线正常工作?
我已经尝试用一个单独的if和else语句来分隔每个用户,该语句检查用户是否已经存在,以及他们是否获得分配给该用户的密码是否正确。我还尝试过使用list函数将多个不同的用户存储为一个变量,这样如果程序检测到这些用户中的任何一个,它就会将它们移到下一步,但是一旦我这样做了,程序就会拒绝将列表中的任何元素识别为个人。
例如,在代码的第2行中,两个用户都无法识别。用户blake只有在它自己的if-else块中分开时才会被识别。user_name = input ("Hello, user please enter your username!")
if user_name == ["Jake", "Bake"]:
Password = input("Please enter your password %s" %user_name)
if Password == ["hello", "notem"]:
print ("Welcome back %s" %user_name)
else:
print ("You are an imposter! Begone!!")
else:
if user_name == ("Bake"):
Password = input("Please enter your password %s" %user_name)
if Password == ("hell"):
print ("Welcome back %s" %user_name)
else:
print ("You are an imposter! Begone!!")
在第2行到第7行之外,我希望我可以输入Jake甚至Blake来获得密码问题。然后,一旦我把相应的,而且只有相应的,密码,然后我应该会得到一个欢迎回来(任何时候我选择使用的用户名)。实际上,只要我输入任何用户名,程序就会退出我的程序,因为程序似乎不知道如何从用户名提示符处继续。