2016-08-30 2 views
0

저는 파이썬으로 시작한 지 얼마되지 않았습니다. 여기에 많은 게시물을 살펴 보았습니다.하지만 내 코드에는 무엇이 문제가없는 것 같습니까? 사용자가 N 또는 n 그럼 반드시 내 엘프가 걷어차지만 여전히 소리를 재생하고 "소리가 재생"밖으로 인쇄합니다. 아무도 도와 줄 수 있습니까? 고맙습니다.Python - if, elif statements

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

가능한 복제 [I 여러 값에 대해 하나 개의 변수를 테스트하려면 어떻게 ?] (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" 

파이썬 사실

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":