2013-12-09 68 views
-5

我不是專業人員,我沒有長時間編程,但爲什麼不工作?我的Python模塊不會工作

door = input("I Have Found A Haunted House,Should I Go In?") 

if door == "yes" or "Yes" or "YES": 
    print("Ok! I Am Going In") 

else: 
    print("What?") 


while door == "no" or "No" or "NO": 
    print("Awwh Thats A Shame, I Was Getting Excited") 
+3

「不起作用」是什麼意思? – Marcin

+0

Offtopic:我認爲你的電腦上有「.title()」病毒...;) – mchfrnc

+2

如果用戶輸入「no」,你是否真的想無限打印最後一條消息? – David

回答

4

別擔心,這是一個非常常見的錯誤。

這裏需要使用in

if door in ("yes", "Yes", "YES"): 

,或者甚至更好,str.lower

if door.lower() == "yes": 

這樣做的原因就是,Python評估非空字符串作爲True。所以,你的代碼實際上是被這樣解釋:

if (door == "yes") or ("Yes") or ("YES"): 
# True/False  True  True 

正如你可以看到,這個if語句將總是通。