我正在尝试打印一个快速的“前5个高分”列表,程序中的其他所有内容都很好,但是在上一节中使用while循环,并在其中使用for循环,并在for循环中递增计数,即递增,但循环不会停止。我不知道为什么,有人可以向我解释吗?或给我解决。
class Enemy(Ship):
# ...
def move(self, objs):
last_obj = objs[-1]
if (
last_obj.x + last_obj.vel + last_obj.get_width() > WIDTH
or self.x + self.vel < 0
):
for obj in objs:
obj.vel *= -1
self.x += self.vel
答案 0 :(得分:1)
这是因为一旦for循环开始,变量count就没有范围检查在while循环中提供的条件。这可以解决:
count= 0
for item in highscores: #loops over the tuples in the highscores list
count +=1 # increments the count
print ('PLAYER NAME : ', item[0], 'SCORE : ', item [1])
if(count == 5)
break
答案 1 :(得分:0)
当count> = 5时,for循环不一定必须停止。这取决于高分中有多少项。