python'和'布尔运算符

时间:2013-05-15 21:27:57

标签: python boolean and-operator

嗨,我完全不知道如何做我想要的事情,我基本上检查一个文件,它有两个单词,对于这个例子,用户的用户名和密码。

text = open("Accounts.dat", 'w')
text.writelines("the username")
text.writelines("\n")
text.writelines("the password")
text.close()

username = input("Enter username: ")
password = input("Enter password: ")
data = open("Accounts.dat").read()
if username and password in data:
  print("works")
else:
  print("doesn't work")
data.close()

此代码在某些方面有效,例如,如果我只输入正确的用户名而没有输入密码(“工作”),但如果我输入的用户名和密码没有输入(“不起作用”) ,如果我只输入正确的密码而没有输入用户名,则无效。

我需要它,所以当用户名和密码都正确时,它只打印(“工作”)。

1 个答案:

答案 0 :(得分:3)

if username and password in data:应该是

if username in data and password in data:

当你执行if username and password in data:时,python会解释它的方式是:

if (username) and (password in data):

,检查username是否为True并检查password是否在data