我是编程python的新手,遇到了一个问题。我正在查询一个mysql数据库,它通过将响应除以另一个数字来返回我想要使用的值。我有以下代码:
def sum_perchange_by_sector(dates, num):
for row, in dates:
cur = con.cursor()
cur.execute("select sum(dbdev.perchange) from dbdev inner join symbol
on dbdev.symbol_id = symbol.id where symbol.sector =
'Industrials' and dbdev.price_date = %s;",(row))
sumer=cur.fetchone()[0]
print(type(sumer))
print(type(num))
av=sumer/num
print(av)
当我运行代码时,我得到以下输出:
<class 'NoneType'>
<class 'int'>
av=sumer/num
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'
如果我注释掉这些行:
av=sumer/num
print(av)
输出显示类型为
<class 'float'>
<class 'int'>
我不明白这种类型是如何改变的以及为什么这种划分不起作用?
答案 0 :(得分:0)
这些线路确实不可能有所作为。 “sumer”更有可能在每次运行时都有所不同 - “NoneType”可能对应于从查询中返回的结果。