Python input도중에 취소시키기

조회수 2561회

Python 함수 안에서 input을 실행도중 일정 시간이 지나면 함수를 종료시키고 싶습니다.


def example ():
    input ()#여기서 n초동안 아무것도 입력하지 않으면 input의 작동을 중지하고 example함수를 종료시키고 싶습니다.
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 18.01.29 13:37 수정:

    질문을 완전 잘못 읽었었네요.

    해당 문제는 멀티쓰레드를 통해 해결하실 수 있을 것 같습니다.

    쓰레드는 하나의 코드를 실행하는 역할을 합니다. 시간을 재는 쓰레드 하나, input()을 실행하는 쓰레드 하나를 만들어서 시간을 재는 쓰레드가 특정 시간이 지나 종료될 때 input() 쓰레드도 같이 종료되게 구현하면 될 것 같습니다. 대신, 이렇게 하면 input()에 입력없이 가만히 있는 시간이 일정 시간이 지났을 때 종료되는 것이 아니라 '입력이 완료되는 시간'이 일정 시간 지났을 때 함수가 종료될 것입니다. 원하시는 방향과는 약간의 차이가 있네요.

     

    참고 문서: 예제로 배우는 Python 프로그래밍 - 쓰레드

                   StackOverflow 유사 질문

     


    수정 전 답변:

    구글에서 찾아보다가 유사 질문에 대한 답변을 찾았습니다.

    해당 답변자는 시작 시간을 불러와서 입력값을 받아서 현재 시간과 비교하는 방법을 택하여 다음과 같은 코드를 작성했습니다.

    (출처: Raspberry Pi 포럼 lenik씨 답변)

    • 시간이 지나면 input이 취소되게 하지는 못하는 건가요? 엔터를 누르지 않아도 자동으로 종료되게 하고 싶습니다. 그래도 좋은 답변 감사드립니다. 알 수 없는 사용자 2018.1.29 04:28
    • input()자체를 종료는 못하는 군요... 알 수 없는 사용자 2018.1.29 14:15

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)