-1

我正在使用 python 和 pygame 进行进化实验,但这并不重要,它是一个不起作用的函数,我想你看看。

我收到的错误消息是浮动对象不可调用。它说问题出在第 205 行,它正在从第 51 行调用该函数。

我将发布我的所有代码,其中大部分与解决此问题无关。但我认为对你们有一个整体代码的想法很有用,请不要因为缺乏评论而讨厌我:P 它会到达那里!

谢谢

代码链接:http: //pastebin.com/BBm7Ehax

4

2 回答 2

6

第 51 行:

def distance(self,listx,listy):

第 55 行:

self.distance=(((self.x-self.tcentrex)**2) + ((self.y-self.tcentrey)**2))**0.5

您不能self.distance既是方法又是变量,并期望事情正常工作。

执行第 55 行时(在第一次distance()调用该方法期间),它会用一个值覆盖该方法(该方法是 at self.distance,因为它是distance被调用的方法 on selffloat

于 2012-09-16T06:48:59.947 回答
0

在第 55 行,在distance方法中,您将浮点值分配给self.distance. 因此,在您调用distance一次之后,distance该对象上的属性引用了一个浮点数,该浮点数是不可调用的。

于 2012-09-16T06:52:02.730 回答