본문 바로가기

알고리즘 문제풀이 (파이썬)/BOJ (Baekjoon Online Judge)

파이썬 입력이 끝날 때까지 받아오는 방법 [BOJ 10951] A+B - 4 (파이썬 python EOF EOFError)

파이썬 python EOF [BOJ 10951]

BOJ 10951번: A+B - 4

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

파이썬을 사용하여 입력이 끝날 때까지 받아오는 방법으로 두 가지 방법을 사용했습니다.

  1. sys를 사용하는 방법
import sys

lines = sys.stdin.readlines()
for line in lines:
    A, B = map(int, line.split())
    print(A+B)

  sys.stdin.readlines() 구문을 사용하면 파일의 끝 부분까지 한번에 가져올 수 있고,

  가져온 내용 안에서 반복문을 사용하면 쉽게 문제를 해결할 수 있습니다.

 


 

  1. EOFError 예외 처리
while True:
    try:
        A, B = map(int, input().split())
        print(A+B)
    except EOFError:
        break

  계속 진행되는 반복문을 만들고, 그 안에서 try, except를 사용하여 예외를 처리합니다.

  입력이 있을 땐 계속 입력을 받아와서 원하는 연산을 진행하고, EOFError가 발생하면 반복문을 빠져나오도록 했습니다.

 

입력 도중에 파일의 끝을 만나면 EOFError가 발생합니다. (EOF: 파일의 끝(End of File))