pymysqlHow to add cases on my cod我的货到付款

2024-09-29 21:29:53 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图让一些案例来处理我的代码,但我总是得到相同的错误TypeError(“>;=”“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",),]

Tags: and代码sqlreturnstatuserrormoviefloat
2条回答

我想你可能想要的是:

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

错误正是它所说的

rank1是一个字符串

这段代码的摘录并不像您认为的那样:

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

这实际上不会将rank1的值更改为浮点值。为了存储新的浮点变量rank1,需要将其设置为一个变量

你可以做rank1 = float(rank1)来完成这个

相关问题 更多 >

    热门问题