hajinpoka   2년 전

input 써서 코드를 작성했을땐 실행이 잘 됬는데, sys.stdin.readline() 으로 변경하면 오류가 나요

import sys

for _ in range(3):
    sum = 0
    n = int(sys.stdin.readline().strip())
    for x in range(n):
        num = int(sys.stdin.readline().strip())
        sum += num
    if sum > 0:
        print("+")
    elif sum < 0:
        print('-')
    else:
        print("0")
<b>ValueError</b>: invalid literal for int() with base 10: ''

limepencil   2년 전

음? 제 환경에서는 잘 돌아가는것 같습니다. 혹시 복사 붙여넣기를 이상하게 하신게 아닐까요

lcr7324   2년 전

Anaconda 환경에서 테스트하고 계시다면, Anaconda IPython 콘솔에서 sys.stdin.readline이 제대로 동작하지 않기 때문에 발생하는 오류일 겁니다.

로컬에서 테스트하실 때에는 input으로 하시고 백준에 제출할 때만 sys.stdin.readline으로 바꾸시거나, I/O redirection을 통해 파일 입출력으로 바꿔주어 테스트하는 방법이 있습니다.

hajinpoka   2년 전

감사합니다 아나콘다 환경이여서 제대로 작동하지 않은거였네요

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