ssleap   7년 전

보통은 엔터를 누르면 입력이 끝나잖아요?

그런데 엔터를 눌러도 입력이 이어지게 하라는 말씀 같은데  그럼 입력의 끝은 뭘로정하죠?

gallopsys   7년 전

C는 scanf의 인자로, C++은 반환되는 개체의 플래그로 EOF를 판단할 수 있지만, Python은 그런 게 없죠...

그래서 다음과 같은 방법을 이용하시면 됩니다.


1. sys 모듈을 import 하여 sys.stdin.readlines()로 EOF까지 자동으로 읽어오도록 만들어서 출력하는 방법

2. try-catch 문으로 구성하고 EOFError가 발생하면 반복문을 탈출하는 방법


다음 코드는 2번의 경우로 구성한 경우이니 참고하시길 바랍니다. 참고로 EOF는 Ctrl + D(Linux), Ctrl + Z(Windows)라는 걸 알아두시길 바랍니다.

cake_monotone   7년 전

별로 좋은 방법은 아니지만, 따로 처리하지 않고 무한루프로 입력만 받아도 되긴 합니다.
채점 방식이 런타임 오류보다 답을 먼저 확인하기 때문인지 어쩐지는 모르지만, 런타임 오류는 뜨지 않더군요.

인터프리터 언어 특성 상, 답은 착실히 전부 출력하고 죽기 때문인 거 같은데
EOFError 말고도 다른 오류를 내도, 답만 제대로 출력했다면 착실히 채점이 됩니다.

댓글을 작성하려면 로그인해야 합니다.