虽然循环仍然循环

时间:2018-12-09 11:15:40

标签: python while-loop

我需要输入'F'或'M'作为用户的输入。所以有我的代码:

a = input("")
while a != 'F' or a != 'M':
    a = input("")

但是,即使用户输入“ M”或“ F”或其他任何内容,它仍然会循环播放。 所以我已经尝试过了:

genre = input("")
while genre != 'F':
    genre = input("")

它有效.. 我只需要有“ M”或“ F”,有人可以帮我吗?

先感谢

2 个答案:

答案 0 :(得分:1)

class App(tk.Tk): def __init__(self): super().__init__() self.geometry("610x430+650+280") self.canvas = BallCanvas(self, width=600, height=400) self.count = 200 self.after(500, self.move) def move(self): self.count -= 1 self.canvas.move_balls() if self.count > 0: self.after(150, self.move) if __name__ == "__main__": App().mainloop()

始终为a != 'F' or a != 'M'。试试这个:

True

尽管这也会接受while a not in 'FM': ... ;更好的方法是使用:

FM

答案 1 :(得分:1)

您需要and而不是or

while a != 'F' and a != 'M'

因为a一次不能等于两件事。就像现在一样,如果a=='M',则a != 'F',因此循环继续(对于反向值相同)。因此,循环永远不会结束。