2016-07-13 3 views
0

사용자가 while 루프에서 일부 단어를 입력해야하는 Python 프로그램 (OS X/Linux)을 작성하고 있습니다. 이것은 그것의 관련 부분입니다 : 내가 Enter 키를 누릅니다 할 필요없이 즉시 사용자 유형 공백으로 입력을 중지하고 싶습니다 그러나특정 문자를 입력 할 때 파이썬 입력을 중지하십시오.

i = 0 
array = [] 
while (i < 10): 
    array.append(raw_input("Prompt: ")) 
    i = i + 1 

.

raw_input을 사용하여이 작업을 수행 할 수 없다는 것을 알고 있지만, 내가하려는 작업을 수행 할 방법을 찾지 못했습니다. 기본적으로 나는 다음 단어를 입력하기 위해 ENTER 대신 SPACE 버튼을 사용하여 한 단어를 다른 단어 뒤에 입력 할 수 있기를 바랍니다.

의견이 있으십니까? 미리 감사드립니다.

+0

다른 입력 방법을 사용해야합니다. raw_input은 eol/eod가 발생할 때까지 기다립니다 (예 : 사용자 조회수 반환). 모든 키 스트로크를 처리하고 공백을 검사해야합니다. –

+0

'raw_input','input' 또는'sys.stdin.read (1)'로는 불가능합니다. 모든 운영 체제에서 작동하는 일반 솔루션은 없습니다. – pts

+0

이것은 거의 플랫폼에 특정한 것입니다. [참조하십시오] (http://stackoverflow.com/questions/510357/python-read-a-single-character-from-the-user) - 당신은 또한 그런 이벤트를 처리하는 tkinter 같은 것을 사용하거나 재 매핑을 고려할 수 있습니다 입력 과정에서 스페이스 바에 Enter 키 -하지만 아마도 당신이 찾고있는 것보다 더 복잡하고 다양한 키보드 레이아웃에 대한 acocunt 싶어요. – sytech

답변

0

raw_input, input 또는 sys.stdin.read(1)으로는 불가능합니다. 모든 운영 체제에서 작동하는 일반 솔루션은 없습니다.

Python read a single character from the user 그런 다음 당신은 for 루프의 각 문자를 처리 할 필요가 : 여기

Enter를 누를 필요없이, 파이썬에서 사용자로부터 하나의 문자를 읽는 방법입니다.

관련 문제