728x90
https://www.acmicpc.net/problem/10951
문제)
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력)
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력)
각 테스트 케이스마다 A+B를 출력한다.
풀이)
while 1: #무한반복하겠다.
A, B=map(int, input().split()) #A, B를 정수로 입력을 받겠다.
print(A+B)
이렇게 풀면 답은 나오지만, 런타임 오류가 발생한다 백준이 원하는 답이 아닌것이다.
그래서 생각해낸방법이 try except 구문이다. 파이썬은 예외 처리 할 수 있는 구문을 제공하는데, 그 중 하나가 try except구문이다.
try except의 기본적인 구조는 이러하다.
try:
예외가 발생할 가능성이 있는 코드
except:
예외가 발생했을 때 실행할 코드
while True: #while 1도 가능
#try except 구문으로 예제를 처리합니다.
try:
A, B=map(int, input().split())
print(A+B)
except:
break #break대신에 exit()도 가능하다.
try except구문을 사용하면, 어떤 상황에 예외가 발생하는지 완벽하게 이해하고 있지 않아도 프로그램이 강제로 죽어버리는 상황을 막을 수 있다.
728x90
'프로그래밍 > Python(파이썬)' 카테고리의 다른 글
[백준] 10818: 최소, 최대 -python(파이썬) (0) | 2022.04.07 |
---|---|
[백준] 10952: A+B-5 -python(파이썬) (0) | 2022.04.06 |
[백준] 10871: X보다 작은 수 -python(파이썬) (0) | 2022.04.06 |
[백준] 2439: 별 찍기 -2 -python(파이썬) (0) | 2022.04.06 |
[백준] 2438: 별 찍기 -1 -python(파이썬) (0) | 2022.04.06 |