使用while循环嵌套for循环进行计数

时间:2020-07-06 12:20:21

标签: python iteration

我正在尝试打印一个快速的“前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

2 个答案:

答案 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循环不一定必须停止。这取决于高分中有多少项。