2012-09-16 102 views
-1

我正在做一個使用python和pygame的進化實驗,不過那不重要,它是一個不起作用的函數,並且像你一樣需要查看id。Python float not callable

我收到的錯誤消息是浮動對象不可調用。它說,問題是在行205調用線51函數。

我會發布我的所有代碼,其中大部分是無關緊要解決此問題。但是我認爲它對你們有用,對整個代碼有一個概念,請不要因爲缺乏評論而討厭我:P它會到達那裏!

感謝

鏈接代碼:http://pastebin.com/BBm7Ehax

+0

請發佈確切的錯誤消息,包括完整的回溯。 – BrenBarn

+0

'f = 1.234; f()'< - 不允許 – 2012-09-16 07:10:06

+1

今後請嘗試儘量隔離問題,並在您的問題中發佈代碼片段,而不是鏈接到您的整個代碼。最後一個問題特別重要,因爲所有問題都被歸檔,以便那些尋找問題答案的人可以識別出他們是否有同樣的問題,然後檢查答案。 – Dunes

回答

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()方法被調用)它覆蓋方法(這是在self.distance,因爲它是該方法distance被稱爲上self)與float值。

+0

那麼,你*可以*,但它會導致問題。 –

+0

謝謝,對不起,我的部分簡單的監督,我沒有看到身份證,稱爲他們都距離:)代碼作爲一個整體不能正常工作,但你的幫助是非常感謝,得到它thre :) – RPGer

+0

您可以標記此答案爲通過點擊左側複選標記的綠色輪廓來回答問題,這將標記爲「已接受」。 – Amber

0

在第55行中,在distance方法中,將浮點值分配給self.distance。因此,在您撥打distance一次之後,該對象上的屬性distance引用了不可調用的浮動。