scipy “不支持-的操作数类型是什么:'int'和'tuple'"是什么意思?

6pp0gazn  于 2022-12-26  发布在  其他
关注(0)|答案(3)|浏览(132)

我得到一个错误说:

  • 不支持的操作数类型:“整型”和“元组”
    我该怎么改正呢?
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)
6tqwzwtp

6tqwzwtp1#

integrate.quad() returns a tuple; deltahbarCO2 + 2*deltahbarH2O是一个整数,您正在尝试减去var元组。
如果你只想要integrate.quad()结果的整数y,那么使用元组的第一个元素:

var = deltahbarCH4[0]

或使用元组赋值:

var, err = deltabarCH4
qmelpv7a

qmelpv7a2#

该错误意味着您试图在数字和元组之间使用减法运算符-
基于documentation,您可能需要:var = deltahbarCH4[0],因为它将给予积分的实际值,我们将在后面的行中使用它进行计算。

7rfyedvj

7rfyedvj3#

我得到了下面相同的错误:
TypeError:-的操作数类型不受支持:“整型”和“元组”
尝试从**int类型中减去tuple类型**时,如下所示:

# int 
print(10 - (3,))
          # tuple

因此,我将**tuple类型更改为int类型**,如下所示:

print(10 - 3)

然后,解决了上述错误:

7

相关问题