gpt4 book ai didi

python - 类型错误 : 'float' object not callable in Python

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:20 26 4
gpt4 key购买 nike

我对编码很陌生,所以这可能是一个愚蠢的问题,但是当我尝试运行我的程序时,我收到标题中提到的错误。似乎有问题的代码是这样的:

def branch(replicas):
ER = d * 0.5 * w
N0 = len(replicas)
newReplicas = [] ##### Error on this line

for j in range( len(replicas) ):

replica = replicas[j]

r2 = 0

for x in replica:

r2 += x * x

V = 0.5 * mass * w**2 * r2

W = exp(-(V - ER) / rootT)

mn = int(W + random.uniform(0,1))

if mn >= 3:

newReplicas.append( replica )

newReplicas.append( replica )

newReplicas.append( replica )

elif mn == 2:

newReplicas.append( replica )

newReplicas.append( replica )

elif mn == 1:

newReplicas.append( replica )

replicas = newReplicas
N1 = len(replicas)
ER = ER + ((hbar/deltaT)(1-(N1/N0)))

如有任何帮助,我们将不胜感激。提前致谢!

最佳答案

我认为你的问题就在这里

ER = ER + ((hbar/deltaT)(1-(N1/N0)))

我想你想要的就是这个

ER = ER + ((hbar/deltaT)*(1-(N1/N0)))

Python认为你想要的是调用评估返回值的对象

hbar/deltaT

如果

hbar = 2.0
deltaT = 1.0

然后它认为你试图调用它创建的浮点对象,因为在本例中它将是一个值为 2.0 的浮点对象,带有评估结果的参数

1-(N1/N0)

由于浮点对象不可调用,因此这不起作用,并且会抛出异常。

本质上,您可以通过将乘法运算符放在

之间来解决此问题
(hbar/deltaT)

(1-(N1/N0))

最后

((hbar/deltaT)*(1-(N1/N0)))

这就是我认为您正在尝试做的事情。除非你不想做乘法

关于python - 类型错误 : 'float' object not callable in Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com