我收到一条错误说:
unsupported operand type(s) for -: 'int' and 'tuple'
如何更正?
from scipy import integrate
cpbar = lambda T: (3.826 - (3.979e-3)*T + 24.558e-6*T**2 - 22.733e-9*T**3 + 6.963e-12*T**4)*8.314
deltahbarCH4 = integrate.quad(cpbar,298,1000)
var = deltahbarCH4
hRPbar = hRPbar + (deltahbarCO2 + 2*deltahbarH2O - var -2*deltahbarO2)
答案 0 :(得分:4)
integrate.quad()
returns a tuple; deltahbarCO2 + 2*deltahbarH2O
是一个整数,您试图减去var
元组。
如果您希望只 y
结果的整数integrate.quad()
,请使用该元组的第一个元素:
var = deltahbarCH4[0]
或使用元组赋值:
var, err = deltabarCH4
答案 1 :(得分:2)
该错误意味着您尝试在数字和元组之间使用减法运算符-
。
基于documentation,您可能需要:var = deltahbarCH4[0]
,因为这将为您提供积分的实际值,您将在稍后的行中进行计算。