我在我的python代碼中有一個奇怪的錯誤。我檢查了SO上的其他帖子以解決這個問題,但其他人似乎在代碼中出現了某種錯誤,我可以弄清楚。我無法識別這一個。TypeError:testing()只需要2個參數(1給出)
這是函數調用:
print "Desired Action: " , person.bestAction(indx)
與此形成一個NPC類的人是一個對象的方法的定義。
def bestAction(self, position):
if self.beingPassed:
if self.protestCost() > self.waitCost():
self.nextAction = "Protest"
else:
if self.passCost() > self.waitCost():
if position != 0:
self.nextAction = "Pass"
這使我有以下錯誤:
File "main.py", line 91, in stepCounter
if person.bestAction() == "Pass":
TypeError: bestAction() takes exactly 2 arguments (1 given)
我相信自己是一個隱含的參數。所以我應該只給一個參數傳遞給函數。
我很困惑,我不明白我缺少什麼。
哪裏是你的類定義的休息嗎? – kindall