我正在编写一个程序来为我喜欢玩的纸牌游戏评分,并Game()使用以下方法进行以下课程:def score(self): scores = [] for name in self.players: score = name.score_round() scores.append(score) scores = pd.concat(scores) scores = scores.groupby('Player').Score.sum() return scoresself.players__init__是在游戏中所有玩家的方法中制作的列表,每个玩家都有自己的Player()类别。当我调用这个方法时,我收到以下错误:---------------------------------------------------------------------------TypeError Traceback (most recent call last) in ----> 1 game.score()~/dev/code_education/backalley/scoring.py in score(self) 91 def score(self): 92 scores = []---> 93 for name in self.players: 94 score = name.score_round() 95 scores.append(score)TypeError: 'method' object is not iterable我以为我会迭代一个列表,但我显然错过了一些东西。self.players 等类变量也被视为方法吗?
3 回答
一只名叫tom的猫
TA贡献1906条经验 获得超3个赞
self.players
返回方法对象,但不调用它。您应该遵循它以()
使其成为方法调用:
for name in self.players(): # Here -------------^
添加回答
举报
0/150
提交
取消