家庭作业代码出现问题。基本上我要做的就是接受一个对象列表并将它们传递给我的fire方法。
def fire(self,targets):
i = 0
for i in targets:
x,y = targets[i].position
tx,ty = self.position
d = getDist(targets[i].position, self.position)
每当我调用fire方法并传入对象时,它指向第17行,即x,y = targets[i].position
行,并说“TypeError:list indices必须是整数,而不是Bomber”
轰炸机是班级的名称。我把火方法称为:
bOne.fire([bTwo, tOne, tTwo, tThree])
非常感谢任何帮助。
答案 0 :(得分:8)
您正在遍历列表本身,这意味着您不需要将值用作索引:
>>> for elem in ['a', 'b', 'c']:
... print elem
'a'
'b'
'c'
在python中,for
构造不仅仅与数字一起工作,它直接与你正在循环的序列的元素。