2016-08-30 21 views
0

私は長い間、Pythonを使い始めていません。ここで多くの記事を見てきましたが、私のコードで何が問題なのかは分かりません。 ユーザがNかnかどうかは確かに私のelifがキックインしますが、それはまだ音を再生し、 "再生音"を印刷します。 誰も助けてもらえますか?ありがとうございました。Python - if、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は真

0

として "y" を評価しているあなたが書いた:

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

、あなたが意味:

私が思う
elif test2 == "N" or test2 == "n": 
0

、あなたはこれで、あなたのコード内の各ラインを交換する必要があります。

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

...

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