-1

我正在尝试建立一个登录系统,其中用户输入将与 tinydb 的 json 文件进行交叉检查。我设法让注册工作,但是当我尝试登录时,我得到了这个错误。

类型错误:& 不支持的操作数类型:“列表”和“查询实例”

我尝试删除密码验证并且它有效。不完全确定其背后的原因。如果我能就出了什么问题得到一些指导,那就太好了。谢谢!

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()
4

2 回答 2

2

应该and不是&。操作数and将检查您尝试验证的两个条件,而&按位 AND 并且它不喜欢为bitwiseAND 提供的数据类型,因此会出现错误。

于 2020-12-30T23:11:24.953 回答
0

&在 Python 中是逻辑按位运算符而不是条件运算符,因此替换&and应该可以正常工作

于 2020-12-30T23:13:09.477 回答