2017-09-14 12 views
1

키를 눌러서 사용자가 다시 재생할 것인지를 결정하려고합니다. 그러나 msvcrt.getch()가 저를 위해 작동하지 않습니다. . 내 코드는 다음과 같습니다..getch()가 작동하지 않는 것 같아요 (파이썬 2.7)

import msvcrt 
#the game here 
    print "Do you want to continue? Y/N" 
    if msvcrt.getch() == 'Y' or msvcrt.getch() == 'y': 
     print"Let's play again!" 
     print"-----------------" 
    elif msvcrt.getch() == 'N' or msvcrt.getch() == 'n' : 
     "Okay, hope you had fun" 
     break 

의견이 있으십니까?

편집 : 아래 답변은 단지 한 번만 msvcrt.getch()를 호출해야합니다 PyCharm

+0

코드를 실행할 때 오류가 있습니까? – cosinepenguin

+0

'getch()'__once__를 호출하고 그 값을 네 번 비교해야합니다. 그대로, 사용자의 초기 키 누르기를 'Y'와 비교 한 다음 두 번째 키 누르기 만 요청합니다 .. – jasonharper

+0

@cosinepenguin @jasonharper 'getch()'와는 달리 오류가 발생하지 않고 키를 누르지 않습니다. 웬일인지 전화조차되지 않았다. – sOfekS

답변

0

에하지 않는 몇 가지 이유를 들어, 명령 줄에서 작동 않습니다. 코드를 다음과 같이 변경하십시오.

import msvcrt 
#the game here 
    print "Do you want to continue? Y/N" 
    response = msvcrt.getch() 
    if response.lower() == 'y': 
     print"Let's play again!" 
     print"-----------------" 
    elif response.lower == 'n' : 
     "Okay, hope you had fun" 
     break 
+0

그래, 그게 의미가 있지만 여전히 작동하지 않습니다. 어떤 이유로 든 키 보도를 등록하지 않는 것 같습니다. – sOfekS