插值不能相乘,显示Nonetype
Interpolation value can't be multiplied, show Nonetype
我写了一个插值函数。但是当我调用该函数时,它运行良好。但是当获得的值相乘时,它显示 TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
从 scipy.interpolate 导入 interp1d
def repair(hour):
x = [300,600,900,1200,1500,1800,2100,2400,2700,3000,3300,3600,3900,4200,4500,4800,5100,5400,5700,6000]
y = [0,1,2,4,6,9,12,16,20,25,30,36,42,49,56,64,72,81,90,100]
x_interip = interp1d(x,y)
r = x_interip(hour)
print(r)
p = repair(400)
c = p*100
print(c)
这是我的代码,不知道哪里错了。我是基础学习者。
错误的出现是因为你的函数没有return任何东西。将 return r
添加到函数的末尾。否则,p
的值将是 None
,并且错误来自将 p
(即 None
,因此类型为 NoneType
)乘以 100( int
类型)。
我写了一个插值函数。但是当我调用该函数时,它运行良好。但是当获得的值相乘时,它显示 TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
从 scipy.interpolate 导入 interp1d
def repair(hour):
x = [300,600,900,1200,1500,1800,2100,2400,2700,3000,3300,3600,3900,4200,4500,4800,5100,5400,5700,6000]
y = [0,1,2,4,6,9,12,16,20,25,30,36,42,49,56,64,72,81,90,100]
x_interip = interp1d(x,y)
r = x_interip(hour)
print(r)
p = repair(400)
c = p*100
print(c)
这是我的代码,不知道哪里错了。我是基础学习者。
错误的出现是因为你的函数没有return任何东西。将 return r
添加到函数的末尾。否则,p
的值将是 None
,并且错误来自将 p
(即 None
,因此类型为 NoneType
)乘以 100( int
类型)。