프로그래밍을 하다 보면 입력받은 숫자가 양수인지, 음수인지, 아니면 0인지 판별해야 하는 경우가 자주 발생합니다. Python에서는 조건문을 활용하여 이를 간단하게 처리할 수 있습니다. 이번 글에서는 대표적인 두 가지 방법, 즉 if-elif-else 문과 중첩 if 문(nested if)을 사용하는 방법을 소개합니다.
방법 1: if-elif-else 문 사용하기
가장 일반적이고 가독성이 좋은 방법은 if-elif-else 구조를 사용하는 것입니다. 숫자를 하나씩 비교해가며 조건에 맞는 결과를 출력합니다.
num = float(input("숫자를 입력하세요: "))
if num > 0:
print("양수")
elif num == 0:
print("0")
else:
print("음수")
코드 설명
input() 함수로 입력받은 값은 문자열이므로, float()를 사용해 실수형으로 변환합니다. 그런 다음 다음 순서로 조건을 검사합니다.
- num > 0: 숫자가 0보다 크면 '양수'를 출력합니다.
- num == 0: 숫자가 정확히 0이면 '0'을 출력합니다.
- else: 위의 두 조건에 모두 해당하지 않으면 '음수'를 출력합니다.
이 방식은 조건의 흐름이 위에서 아래로 명확하게 드러나기 때문에 초보자에게도 이해하기 쉽습니다.
방법 2: 중첩 if 문(nested if) 사용하기
if 문 안에 또 다른 if 문을 넣는 중첩 구조로도 같은 결과를 얻을 수 있습니다.
num = float(input("숫자를 입력하세요: "))
if num >= 0:
if num == 0:
print("0")
else:
print("양수")
else:
print("음수")
코드 설명
먼저 num >= 0 조건으로 숫자가 음수가 아닌지 확인합니다. 음수라면 바로 else 블록으로 이동해 '음수'를 출력하고, 그렇지 않다면 내부 if 문에서 0인지 여부를 한 번 더 검사합니다.
- num >= 0이 참 → 내부 조건 검사: 0이면 '0', 아니면 '양수'
- num >= 0이 거짓 → '음수' 출력
실행 예시
숫자를 입력하세요: 5 양수 숫자를 입력하세요: -3.2 음수 숫자를 입력하세요: 0 0
마무리
두 방법 모두 동일한 결과를 제공하지만, 일반적으로는 if-elif-else 문이 코드 흐름이 단순하고 가독성이 높아 더 권장됩니다. 반면, 조건을 단계적으로 좁혀 가는 논리가 필요하거나 특정 조건을 우선적으로 필터링해야 하는 상황에서는 중첩 if 문이 유용할 수 있습니다. 상황에 맞게 선택하여 사용하시기 바랍니다.