Python 在while循环中组合OR语句
我正在构建一个小函数,允许玩家在Tic-Tac-Toe游戏开始时选择他们的形状(选择X或O),出于某种原因,我在下面的代码中遇到了问题。while语句不适用于其中的OR语句。当我删除任一形状时,代码将运行!=“o”或形状!=“x”,但在while循环中使用这两个选项时,我从不逃避while循环,而且经常有人问我想要什么形状Python 在while循环中组合OR语句,python,python-2.7,while-loop,Python,Python 2.7,While Loop,我正在构建一个小函数,允许玩家在Tic-Tac-Toe游戏开始时选择他们的形状(选择X或O),出于某种原因,我在下面的代码中遇到了问题。while语句不适用于其中的OR语句。当我删除任一形状时,代码将运行!=“o”或形状!=“x”,但在while循环中使用这两个选项时,我从不逃避while循环,而且经常有人问我想要什么形状 def selectShape(): shape = "" while shape != "o" or shape != "x": shape
def selectShape():
shape = ""
while shape != "o" or shape != "x":
shape = raw_input("What shape do you want to be? x or o? ")
if shape == "x":
print "The computer is player o"
else:
print "The computer is player x"
你经常被问到,因为有一个永远是真实的 如果选择X,则:形状!=“o”
如果选择O,则:形状!=“x” 您可能应该使用AND而不是OR 而形状!=“o”和形状!=“x”:
这样,如果两者都不正确,它将继续提示。如果其中一个是X或O,它将中断并继续运行。
shape!=“o”或形状!=“x”
是同义反复;没有同时是“o”和“x”的字符串。你的意思是“和”。(或者,更惯用的说法是,而形状不在[“o”,“x”]`)