python同时执行if和else语句

时间:2017-03-31 17:44:12

标签: python if-statement

我不知道为什么,但是python正在执行if语句然后在同一次迭代中执行else语句

我正在删除不重要的代码:

from livewires import games
...
...
def update(self):
  if games.keyboard.is_pressed(games.K_s):
    if self.y == games.screen.height/3:
      self.y = games.screen.height/2
    else:
      self.y = games.screen.height

在我看来它应该去: 如果's'被按下: 那么,如果高度等于什么做什么 否则,做任何事情2

但计算机正在进行: 如果's'被按下了 然后,使高度等于任何高度,因为高度不再等于任何高度,使其等于whatever2

我通过使用带有'和'运算符的单个if语句以及各种时髦的方法来尝试这个,但是我所做的一切,代码似乎只是移动到下一行而不管if / elif / else < / p>

我甚至试过实现一种有效的计时器,但是不可靠。

1 个答案:

答案 0 :(得分:0)

这是一个非常简单的修复方法。我在 init 中添加了一个计时器并添加了这个:

def update(self):
  self.timer -= 1
  if self.timer == 0:
    self.timer = 8
    if games.keyboard.is_pressed(games.K_s):
      if self.y == games.screen.height/3:
        self.y = games.screen.height/2
      else:
        self.y = games.screen.height

pdb.set_trace()用它来确定它实际上是单独执行(只是非常快)。它移动得如此之快,看起来它同时做到了。