具有多个或条件的while循环的正确python语法

时间:2016-11-04 15:05:50

标签: python python-2.7 while-loop

我正在通过尝试编写一个简单的冒险游戏来学习Python。我创建了一个while循环来从用户那里选择方向,我显然没有以有效的方式做到这一点。我创建了一个带有多个'或'的循环。保持循环的条件,直到用户提供四个有效方向之一作为输入。不幸的是,这使用标签扩展了超过80个字符的行。将这一行分成两行以避免语法错误或更有效地编写这种循环的最佳方法是什么?

while direction != "N" or direction != "S" or direction != "E" or direction != "W":
    if direction == "N":
        print "You went N to the Mountain Pass"
        return 'mountain'

    elif direction == "S":
        print "You went S to the Shire"
        return 'shire'

    elif direction == ...

当我尝试将第一行分成两行时,无论我在哪里打破它,我都会遇到语法错误......

  File "sct_game1.py", line 71
  while direction != "N" or direction != "S" or 
                                             ^
SyntaxError: invalid syntax

我愿意接受有关如何成功打破这条线的建议,甚至更好,更有效地编写这个循环。

感谢。

1 个答案:

答案 0 :(得分:-2)

试试这个:

while (direction != "N" or
        direction != "S" or
        direction != "E" or
        direction != "W"):
    # ... your code ...

或更好:

while direction not in ("N", "S", "E", "W"):