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

Proper python syntax of while loop with multiple or conditions

本问题已经有最佳答案,请猛点这里访问。

我通过编写一个简单的冒险游戏来学习python。我已经创建了一个while循环来从用户那里获得方向选择,显然我没有以有效的方式进行。我创建了一个具有多个"或"条件的while循环,以保持循环,直到用户提供四个有效方向之一作为输入。不幸的是,这一行扩展到了80个字符之外。将此行分成两行以避免出现语法错误或更有效地编写此类循环的最佳方法是什么?

1
2
3
4
5
6
7
8
9
10
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 == ...

当我试图把第一行分成两行时,不管我把它放在哪里,我都会得到一个语法错误…

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

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

谢谢。


试试这个:

1
2
3
4
5
while (direction !="N" or
        direction !="S" or
        direction !="E" or
        direction !="W"):
    # ... your code ...

或更好:

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