본문 바로가기
I can do it on my own!/백준

[백준] 10951번 파이썬(Python)

by zivvon 2023. 5. 6.
목차 접기

문제

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

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 A+B를 출력한다.


'문제 파악'

1) 테스트 케이스가 주어지지 않음

2) 프로그램 종료의 조건이 주어지지 않음

 

'오답 돌아보기'

while 1 :
    A, B = map(int, input().split())
    print(A + B)
    
    #무한루프 상태..
    if A <= 0 or B >= 10 :
        break;

프로그램 종료 조건을 모르기 때문에 무한루프에 빠지지 않도록 문제에 주어진 A와 B의 입력값 조건에 부합하지 않는다면 break문을 걸어 while문을 빠져나오게 시도했지만 실패.

문제가 바라는 정답이 아닌가보다.

 

Sol) 'try-except'구문 활용하기

while 1:
    try: 
        A, B = map(int, input().split())
        
    except:
        break
        
    print(A + B)

입력이 들어오지 않을 때 에려가 발생하면 반복문을 끝낼 수 있도록 하는 try-except 구문을 이용한다.

 

'try-except' 구문

- 파이썬에서 구문 오류가 발생할 때 해결할 수 있는 코드

- 에러가 발생할 여지가 있는 경우 try-except 구문을 이용하면 에러가 발생해도 프로그램이 멈추지 않고 계속 진행될 수 있도록 할 수 있다.

- 구조 : try 구문에는 에러 발생 가능성이 있는 코드 작성, except 구문에는 예외 발생 시 실행할 코드 작성

- 코드 흐름 : 에러가 없을 때는 try 구문 실행 후 except 구문 지나쳐 그 다음 코드 계속 진행