Python input도중에 취소시키기
조회수 2561회
Python 함수 안에서 input을 실행도중 일정 시간이 지나면 함수를 종료시키고 싶습니다.
def example ():
input ()#여기서 n초동안 아무것도 입력하지 않으면 input의 작동을 중지하고 example함수를 종료시키고 싶습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
18.01.29 13:37 수정:
질문을 완전 잘못 읽었었네요.
해당 문제는 멀티쓰레드를 통해 해결하실 수 있을 것 같습니다.
쓰레드는 하나의 코드를 실행하는 역할을 합니다. 시간을 재는 쓰레드 하나, input()을 실행하는 쓰레드 하나를 만들어서 시간을 재는 쓰레드가 특정 시간이 지나 종료될 때 input() 쓰레드도 같이 종료되게 구현하면 될 것 같습니다. 대신, 이렇게 하면 input()에 입력없이 가만히 있는 시간이 일정 시간이 지났을 때 종료되는 것이 아니라 '입력이 완료되는 시간'이 일정 시간 지났을 때 함수가 종료될 것입니다. 원하시는 방향과는 약간의 차이가 있네요.
참고 문서: 예제로 배우는 Python 프로그래밍 - 쓰레드
수정 전 답변:
구글에서 찾아보다가 유사 질문에 대한 답변을 찾았습니다.
해당 답변자는 시작 시간을 불러와서 입력값을 받아서 현재 시간과 비교하는 방법을 택하여 다음과 같은 코드를 작성했습니다.
- 시간이 지나면 input이 취소되게 하지는 못하는 건가요? 엔터를 누르지 않아도 자동으로 종료되게 하고 싶습니다. 그래도 좋은 답변 감사드립니다. 알 수 없는 사용자 2018.1.29 04:28
- input()자체를 종료는 못하는 군요... 알 수 없는 사용자 2018.1.29 14:15
댓글 입력