2016-08-30 100 views
0

我還沒有開始使用python,我查看了很多帖子在這裏,但似乎無法解決什麼是我的代碼錯了... 如果用戶輸入N或n,那麼我的elif肯定會踢,但它仍然播放聲音並打印出「播放聲音」。 任何人都可以幫忙嗎?謝謝。Python - 如果,elif語句

test2 = raw_input("Would you like to test the sound? Y\N or exit? ") 
if test2 == "Y" or "y": 
    winsound.PlaySound('C:/Windows/Media/tada.wav', winsound.SND_FILENAME) 
    print ("Sound Played") 
elif test2 == "N" or "n": 
    print ("Test skipped") 
elif test2 == "exit": 
    print ("Test exit") 
else: 
    print ("Please choose an option") 
+3

的可能的複製[如何測試對多值一個變量?](http://stackoverflow.com/questions/15112125/how-do-i-test-one-variable-against-multiple-values) –

+0

哇,它就像一個終極重複,但4個答案(並沒有_actual_解釋**爲什麼**發生這種情況)必須發佈。尼斯... –

回答

2
if test2 == "Y" or "y" 

應該

if test2 == "Y" or test2 == "y" 

Python是評估 「Y」 爲真

0

您寫道:

elif test2 == "N" or "n": 

,你的意思是:

elif test2 == "N" or test2 == "n": 
0

我想,你有這個來代替在代碼中各條線:

if test2 == "Y" or test2 == "y": 

...

elif test2 == "N" or test2 == "n":