TypeError:'float'对象不可调用

Cor*_*rey 10 python math types

我试图在以下等式中使用数组中的值:

for x in range(len(prof)):
    PB = 2.25 * (1 - math.pow(math.e, (-3.7(prof[x])/2.25))) * (math.e, (0/2.25)))
Run Code Online (Sandbox Code Playgroud)

当我运行时收到以下错误:

Traceback (most recent call last):
  File "C:/Users/cwpapine/Desktop/1mPro_Chlavg", line 240, in <module>
    PB = float(2.25 * (1 - math.pow(math.e, (-3.7(prof[x])/2.25))) * (math.e, (0/2.25)))
TypeError: 'float' object is not callable
Run Code Online (Sandbox Code Playgroud)

这可能很简单,但我无法弄明白.任何帮助将不胜感激.提前致谢

小智 30

有一个操作员失踪,可能是*:

-3.7 need_something_here (prof[x])
Run Code Online (Sandbox Code Playgroud)

该"是不可呼叫 "发生的原因括号-和缺乏运营商的这将切换到括号优先运营商-使Python尝试调用的结果-3.7(浮点数)的功能,这是不允许的.

在这种情况下也不需要括号,以下可能就足够/正确:

-3.7 * prof[x]
Run Code Online (Sandbox Code Playgroud)

快乐的编码.


正如Legolas所指出的那样,还有其他一些事情可能需要解决:

2.25 * (1 - math.pow(math.e, (-3.7(prof[x])/2.25))) * (math.e, (0/2.25)))
                                  ^-- op missing
                                                    extra parenthesis --^
               valid but questionable float*tuple --^
                                     expression yields 0.0 always --^
Run Code Online (Sandbox Code Playgroud)