티스토리 뷰

반응형

 

[Python] 백준 알고리즘 온라인 저지 10951번 : A+B - 4

 

Python3 코드

while True:
    try:
        a, b = map(int, input().split())
    except:
        break
    print(a+b)

 

 

Python3 코드 풀이

 

1. 코드 작성에 대한 전체적인 내용 정리

이번 문제는 두 수로 이루어진 여러 개의 테스트 케이스를 입력받으면 두 수의 합을 출력하는 문제이다. 테스트 케이스의 숫자가 주어지지 않기 때문에 while 반복문을 이용해서 문제를 풀었고 수가 입력되지 않아서 에러가 발생하면 반복문을 끝낼 수 있도록 try - except 구문을 활용해서 문제를 풀었다. 

    try:
        a, b = map(int, input().split())
    except:
        break
    print(a+b)

try 구문에는 에러가 발생할 여지가 있는 문장을 작성하고 except 구문에는 에러가 발생 시 실행시킬 문장을 작성한다. 여기에선 break로 빠져나가도록 했다. 만일 아무런 에러가 발생하지 않는 경우 except 구문을 지나쳐서 이후의 print(a+b) 코드를 마저 실행시킨다.

 

2. try - except 구문 설명

파이썬에서 구문 오류가 발생 할 때 해결할 수 있는 코드이다. 프로그램 중에는 사용자가 무엇인가를 입력해야 하는 경우 에러가 발생할 가능성이 있다. 숫자를 입력해야 하는데 문자를 입력한다던가 실수를 입력해야 하는데 정수를 입력하는 등이 그런 예이다. 백준 알고리즘 문제에서는 잘못 입력될 가능성이 없기 때문에 구문 오류에 대해 고려하지 않고 문제를 풀고 있지만 여러 가지 에러로 인해 프로그램이 실행되지 않을 수가 있다. 이러한 에러가 발생할 여지가 있는 경우에 try - except 구문을 이용하면 에러가 발생돼도 프로그램이 멈추지 않고 계속 진행될 수 있도록 만들 수 있다.

 

try - except 구문의 기본적인 구조는 try 구문 쪽에 에러가 발생할 가능성이 있는 코드를 작성하고 except 구문 쪽에 예외 발생 시 실행할 코드를 작성하는 것이다. 이렇게 try - except 구문으로 코드를 작성해두면 에러가 없을 때는 try 구문을 실행하고서 except를 지나쳐서 그다음 코드를 계속 진행해나가고 에러가 발생하면 except 구문을 실행시킨다.

 

try구문에서 input 함수 등으로 무엇인가를 입력받는 코드를 작성하여 에러가 발생할 가능성이 생기는 경우에는 이번 문제에서 작성한 코드처럼 except 구문에서 break를 이용해서 반복문을 빠져나갈 수도 있지만 print( ) 함수를 이용해서 어떤 문장이 출력되도록 코드를 작성해서 사용자로 하여금 정상적인 입력을 유도하면서 무한 반복을 유지시킬 수도 있다.

 

try-except 구문에는 추가적으로 else , finally 구문을 작성할 수도 있다. else 구문에는 에러가 발생하지 않았을 때 실행할 문장을 작성하고 finally 구문에서는 무조건 실행 할 코드를 작성한다. try - except - else - finally 구문으로 작성하게 되면 보다 촘촘하게 에러에 대한 대비가 가능해진다.

 

반응형
댓글
반응형