백준 1330 파이썬 그리고 예외처리

2024. 1. 15. 12:05코딩/백준 (단계별)

반응형

백준 1330 : 두 수 비교하기

문제

https://www.acmicpc.net/problem/1330

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

 

백준 1330번

답안 코드 :

try:
    a, b = map(int, input().split())
except ValueError:
    print("올바른 정수 값을 입력하세요.")
else:
    if a > b:
        print(">")
    elif a == b:
        print("==")
    else:
        print("<")

 

백준 / 문제 / 단계별로 풀어보기 / 2단계 조건문

try:
    a, b = map(int, input().split())
except ValueError:
    print("올바른 정수 값을 입력하세요.")
else:
    if a > b:
        print(">")
    elif a == b:
        print("==")
    else:
        print("<")

 

생각 :

#방법 1
# 아래 처럼 짰다가 오류뜸 그래서 뭐지 하고 구글링 했는데 다들 이렇게 씀..
#
a, b = map(int, input().split())

if a > b:
    print(">")
elif a == b:
    print("==")
else:
    print("<")
# 아니 위 코드 그냥 제출하니 맞음 . 뭐지 공부할 필요가 있다.

#방법2
#예외처리 해주기
try:
    a, b = map(int, input().split())
except ValueError:
    print("올바른 정수 값을 입력하세요.")
else:
    if a > b:
        print(">")
    elif a == b:
        print("==")
    else:
        print("<")

 

예외 처리를 하는 이유는 프로그램이 예상치 못한 상황에 대비하기 위해서 이다.

map(int, input().split())을 통해 입력된 값이 정수로 변환될 수 없는 경우(예를 들어, "abc"와 같은 문자열)에는 ValueError가 발생하는데 이러한 상황에서 예외 처리를 하지 않으면 프로그램이 중단되고 에러 메시지가 표시된다.

 

이런 예외 처리를 통해 프로그램이 예상치 못한 입력에 대응할 수 있고, 사용자에게 적절한 안내 메시지를 제공할 수 있다.. 위의 코드에서는 "올바른 정수 값을 입력하세요."라는 메시지를 출력하고 프로그램을 종료하도록 처리했다.

따라서 예외 처리를 하는 것은 좋은 프로그래밍 습관 중 하나이며, 사용자와의 상호작용에서 발생할 수 있는 예외 상황에 대비하는 데 도움이 된다고 한다.

 

예외 처리 안해도 백준에서는 정답처리 되는 이유

사실 예외 처리의 필요성은 프로그램의 안정성과 신뢰성을 높이기 위함이지만, 특정 문제나 환경에서는 생략할 수도 있다. 입력이 항상 유효한 경우라면 예외 처리를 추가로 할 필요가 없을 수 있다.

만약 특정 입력 조건이 보장되고, 문제의 조건에서 명시적으로 "정수로 변환 가능한 입력만 주어진다"라고 명시되어 있다면, 예외 처리를 생략해도 상관없을 것이다.

반응형

'코딩 > 백준 (단계별)' 카테고리의 다른 글

백준 2753 파이썬  (2) 2024.01.16
백준 9498 파이썬  (0) 2024.01.15
백준 10172 파이썬  (0) 2024.01.14
백준 10171 파이썬  (0) 2024.01.13
백준 11382 파이썬  (1) 2024.01.13