TypeError: unsupported operand type(s) for &: 'list' and 'QueryInstance'
TypeError: unsupported operand type(s) for &: 'list' and 'QueryInstance'
我正在尝试建立一个登录系统,用户输入将与 tinydb 的 json 文件进行交叉检查。我设法使注册工作正常,但是当我尝试登录时出现此错误。
TypeError:& 的操作数类型不受支持:'list' 和 'QueryInstance'
我尝试删除密码验证并且成功了。不完全确定其背后的原因。如果我能得到一些关于哪里出了问题的指导,那就太好了。谢谢!
def login():
username = input("Enter Username: ")
password = input("Enter Password: ")
User = Query()
if(db.search(User.username == username) & (User.password == password)):
print("Login Successful!")
loggedInScreen()
else:
print("Incorrect Username or Password")
login()
应该是 and
而不是 &
。操作数 and
将检查您尝试验证的两个条件,而 &
执行按位 AND,它不喜欢为 bitwise
AND 提供的数据类型,因此错误。
Python 中的 &
是逻辑位运算符而不是条件运算符,因此将 &
替换为 and
应该可以正常工作
我正在尝试建立一个登录系统,用户输入将与 tinydb 的 json 文件进行交叉检查。我设法使注册工作正常,但是当我尝试登录时出现此错误。
TypeError:& 的操作数类型不受支持:'list' 和 'QueryInstance'
我尝试删除密码验证并且成功了。不完全确定其背后的原因。如果我能得到一些关于哪里出了问题的指导,那就太好了。谢谢!
def login():
username = input("Enter Username: ")
password = input("Enter Password: ")
User = Query()
if(db.search(User.username == username) & (User.password == password)):
print("Login Successful!")
loggedInScreen()
else:
print("Incorrect Username or Password")
login()
应该是 and
而不是 &
。操作数 and
将检查您尝试验证的两个条件,而 &
执行按位 AND,它不喜欢为 bitwise
AND 提供的数据类型,因此错误。
&
是逻辑位运算符而不是条件运算符,因此将 &
替换为 and
应该可以正常工作