微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在尝试建立一个登录系统,用户输入将与 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 应该可以使其工作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。