pymysql-如何在我的代码中添加案例

pymysql-How to add cases on my code

所以我试图让一些案例在我的代码上工作,但我总是得到同样的错误 TypeError("'>=' not supported between instances of 'str' and 'int' ",). 有人可以帮我吗? 代码是这样的:

try:
    float(rank1)
except ValueError:
    return [("status",),("error",),]
try:
    float(rank2)
except ValueError:
    return [("status",),("error",),]
if (rank1>=0 and rank1<=10 and rank2>=0 and rank2<=10):
    sql_query='''update movie set rank=(%s + %s)/2 
    where movie.title=%s'''
    cur.execute(sql_query,(rank1,rank2,movieTitle))
    con.commit()
    return [("ok",)]
else :
    return [("status",),("error",),]

错误如其所言。

rank1 是一个字符串。

此代码摘录与您认为的不同:

try:
    float(rank1)
except ValueError:
    return [("status",),("error",),]

这实际上并没有将 rank1 的值更改为浮点数。您需要将其设置为一个变量以存储新的浮点变量 rank1.

您只需 rank1 = float(rank1) 即可完成此操作。

我想你可能想要的是:

try: 
    rank1 = float(rank1) 
except ValueError: 
    return [("status",),("error",),] 
try: 
    rank2 = float(rank2) 
except ValueError: 
    return [("status",),("error",),] 

if (rank1>=0 and rank1<=10 and rank2>=0 and rank2<=10):
    sql_query='''update movie set rank=(%s + %s)/2 where movie.title=%s'''
    cur.execute(sql_query,(rank1,rank2,movieTitle)) 
    con.commit() 
    return [("ok",)] 
else: 
    return [("status",),("error",),]