我有一個變量player_answer
,我想打破while循環時player_answer
等於「是」或「是」。如何在while循環中添加更多條件?
代碼:
while player_answer != "yes" ((OR)) "yea":
*CODE BLOCK*
我有一個變量player_answer
,我想打破while循環時player_answer
等於「是」或「是」。如何在while循環中添加更多條件?
代碼:
while player_answer != "yes" ((OR)) "yea":
*CODE BLOCK*
如果你想使用兩個子句可以使用and
/or
爲蟒蛇複合邏輯值。
while not (player_answer == "yes" or player_answer == "yea"):
<INSERT CODE>
但是,要小心,因爲容易混淆,因爲複合子句的否定不像上面描述的那麼簡單。具體來說,我寫的化合物是不相當於
# DON'T DO THIS; THIS ILLUSTRATES A COMMON LOGICAL MISTAKE
while player_answer != "yes" or player_answer != "yea":
<INSERT CODE>
欲瞭解更多信息,請查閱DeMorgan's Laws。
更好的解決方案是@DeveloperXY註釋中的一個:
while player_answer not in ["yes", "yeah"]:
<INSERT CODE>
第二個代碼示例不適合我,我試着在問之前使用它,我試圖用簡單的邏輯。但是第一個和第三個例子完美無缺地工作。謝謝 – nizhabib
第二個例子是爲了突出錯誤的方式來做到這一點。我會更清楚地說明。 –
'而player_answer沒有[ 「是的」, 「是啊」]:' –
的可能的複製[複雜,如果在python聲明】( http://stackoverflow.com/questions/2493404/complex-if-statement-in-python) – Prune
@prune應該很好,因爲這結合了不同的答案 –