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]

解决方法

如果你想生成一个新的序列,你必须用numT = []numT.clear()清除旧的。
但是,可以使用 random.shuffle():

简化 conde
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))