首页 > 解决方案 > pygame : while 运行一次并停止

问题描述

我想制作一个绘制六个数字的程序。请帮我。当按下(A)按钮时,它运行一次并停止。如果我想多次运行它应该怎么做?

numT = []
team = random.randint(1, 6)  

if event.type == pygame.KEYDOWN:
    if event.key == event.key == ord('a'):
        for i in range(6):
            while team in numT:
                team = random.randint(1, 6)
            numT.append(team)

        num1 = font.render(str(numT), True, (255, 255, 255))

screen.blit(num1, (200, 117))

我想要的结果(在 pygame 屏幕上):示例

[1, 3, 5, 2, 6, 4]

标签: pythonpygame

解决方案


如果要生成新序列,则必须使用numT = []或清除旧序列numT.clear()
但是,可以使用以下方式简化 conde random.shuffle()

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_a:
        numT = list(range(1, 7))
        random.shuffle(numT)
        num1 = font.render(str(numT), True, (255, 255, 255))     

推荐阅读