-1
'List' object has no attribute 'points'
は、私が得ているエラーです。私はの機能の中でpoints
を正しく呼び出すのではないが、それを修正する方法はわからないと思う。以前はが__str__
より前に定義されていて、同じエラーが発生していました。あなたはself.rewards.points()
を使用しますが、あなただけself.points()
を持ってPythonクラスの__str__関数内の呼び出しメソッド
class Persons(object):
def __init__(self,name,radius,home_universe,x,y,dx,dy,current_universe,rewards):
self.name = name
self.radius = radius
self.home_universe = home_universe
self.x = x
self.y = y
self.dx = dx
self.dy = dy
self.current_universe = current_universe
self.rewards = rewards
def __str__(self):
return '{} of {} in universe {}\n at ({},{}) speed ({},{}) with {} rewards and {} points'.\
format(self.name, self.home_universe, self.current_universe, self.x, self.y, self.dx,\
self.dy, len(self.rewards), self.rewards.points())
def points(self):
cnt = 0
if len(self.rewards) == 0:
return 0
else:
for reward in self.rewards:
cnt += reward[2]
return cnt
「self.rewards」とは何ですか? 'self.points()'しか持っていないと 'self.rewards.points()'を使うのはなぜですか? – furas
'{}'ボタンを使用してコードを正しくフォーマットします。 – furas
は常に問題のフルエラーメッセージ(トレースバック)を入れます(テキストとして、スクリーンショットではありません)。その他の有用な情報があります。 – furas