【发布时间】:2019-07-16 15:35:47
【问题描述】:
我无法计算浮点对数
logahr = math.log(float (1.54)*hr, 10)
logfc = math.log(frek, 10)
loght = math.log(ht, 10)
#ahr formula
ahre = (8.29 * logahr**2)- 1.1
#pangkat formula
pangkat = ((69.55+26.16*logfc)-13.83*loght-ahre)/(6.55*loght - 44.9)
d = pow (10, float(pangkat))
print(d)
logahr = math.log(float (1.54)*hr, 10) TypeError: can't multiply sequence by non-int of type 'float'
【问题讨论】:
-
错误一目了然:hr 是一个序列,可能是一个列表,您不能将列表与浮点数相乘,只能与整数相乘,但您会得到一个包含 x 倍的列表list (其中 x 是 int 乘以您的列表,但可能这不是您的目的)。您必须在 hr 的元素上使用 for ,然后在内部执行 math.log(elem*1.54,10)
-
不一定是序列,也可以是字符串,也可以是非整数或非浮点数@crissal
-
是的,你是对的,我假设 list 但每个可迭代对象都可以完成这项工作
标签: python