所以我试图让一些案例处理我的代码,但我总是得到同样的错误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",),]
答案 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",),]