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

时间:2018-06-04 15:42:13

标签: python pymysql

所以我试图让一些案例处理我的代码,但我总是得到同样的错误TypeError("'> ='不支持&#39的实例之间; str'和' 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",),]

2 个答案:

答案 0 :(得分:1)

错误正是它所说的。

rank1是一个字符串。

此代码摘录并不符合您的想法:

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

这实际上并没有将rank1的值更改为float。您需要将此值设置为等于变量才能存储新的浮点变量rank1

您可以rank1 = float(rank1)来完成此任务。

答案 1 :(得分:1)

我认为你可能想要的是:

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",),]