Python“if”语句。如果某些条件已经是m,则忽略特定的输入

2024-09-29 21:53:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要添加一行,这样如果octave == 1pygame.K_s被按下,它就会忽略输入。当前它崩溃是因为它期望一个大于0的值或类似的值。我试着添加 if octave == 1 and even.key == pygame.k_s: octave +=1 它确实阻止了它的崩溃,但是一旦我通过它,我就不能再回到八度音阶1了。下面是我遇到问题的代码部分。你知道吗

        if event.key == pygame.K_a: octave += 1
        if event.key == pygame.K_s: octave -= 1
        if event.key == pygame.K_q: scale += 0.005
        if event.key == pygame.K_w: scale -= 0.005
        if event.key == pygame.K_SPACE:
            if mode == 1: mode = 2
            elif mode == 2: mode = 3
            elif mode == 3: mode = 1

一个基本的代码运行,当A键被按下时,它向上移动一个八度,当s键被按下时,它向下移动一个八度,但我需要它忽略按键,如果它已经在八度1,因为没有八度0变量 -已解决


Tags: andkey代码eventifmodespacepygame
2条回答

您可以在递减值之后调用max(octave, 1),使其保持>;=1。你知道吗

if event.key == pygame.K_s:
    octave -= 1
    octave = max(octave, 1)

在检查按键“s”时,您可以添加另一个验证,以验证倍频程值是否等于1,即

if event.key == pygame.K_s: 
   if octave >= 1
      octave -= 1

希望我能正确理解这个问题。你知道吗

相关问题 更多 >

    热门问题