Python jupyter notebook에서 readline()

조회수 1013회

알고리즘 문제 풀려고 다음과 같은 python 코드를 jupyter notebook에서 실행시켰더니
ValueError: invalid literal for int() with base 10: ''라는 오류가 발생했습니다.

import sys
print(sys.version)
input = lambda:sys.stdin.readline()

num = [0 for i in range(10001)]
for i in range(int(input())):
    num[int(input())] += 1
for i in range(10001):
    for j in range(num[i]):
        print(i)

그래서 다음과 같은 코드를 실행시켜봤더니 input()에서 user에게 입력받지 않고 넘어가는 것을 발견했습니다. 전에는 잘 실행되던 코드였는데 갑자기 왜 이러는지 모르겠습니다. 어떻게 해결해야 할까요?

import sys
sys.stdout.flush()
input = lambda:sys.stdin.readline().rstrip()
temp = input()
print(temp)
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • https://github.com/jupyter/notebook 에 이슈를 등록하는 것이 빠를 것 같습니다. input() 를 사용하면 셀아래에 입력창이 표시되는 것과 연관이 있어보입니다. 아무래도 notebook 은 console 이 아닌 웹기반의 ide이므로 별도의 처리를 할 수 있습니다. 정영훈 2019.5.24 08:11

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

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

(ಠ_ಠ)
(ಠ‿ಠ)