[英]Python check number is less than
if uservar[0][0] == text_hashed:
sql = "SELECT expires FROM akeys WHERE user = %s"
var = (message.author.id,)
mycursor.execute(sql, var)
myresultrank = mycursor.fetchall()
guild = client.get_guild(CENSORED)
if myresultrank < 1:
print("Less")
else:
print("Normal")
sql = """UPDATE akeys SET user = %s WHERE license = %s"""
val = (message.author.id, text_hashed)
mycursor.execute(sql, val)
mydb.commit()
我试图检查数据库中的数字是否小于 1 但我收到此错误
await coro(*args, **kwargs)
File "My Path", line 529, in
on_message
if myresultrank < 1:
TypeError: '<' not supported between instances of 'list' and 'int'
fetchall()
您获取所有匹配的记录,因此是错误消息中提到的“列表”。 您需要访问 myresultrank 列表中的元素。 您不能将查询结果列表与整数进行比较。
试试这些改变
myresultrank = mycursor.fetchone()
. . .
if myresultrank[0] < 1:
这一行正在返回一个list
:
myresultrank = mycursor.fetchall()
稍后,我们试图将列表与整数进行比较,这会导致您的错误。
如果列表包含您想要提取的值,以便您可以将其与整数 (int) 进行比较,则可以以类似于以下的方式索引该值:
if myresultrank[i] < 1:
其中i
是列表中存储您关心的值的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.