파이썬 elif 사용법|음수·0·양수를 구분하는 조건문

게시일 2026.10.17

파이썬 elif란 무엇이고 언제 쓰나요?

파이썬에서 여러 조건을 차례로 검사할 때 elif는 반드시 필요한 문법입니다. 초보자라면 if와 else만 사용해서 모든 상황을 처리하려다 실수하기 쉽습니다. 예를 들어 어떤 값이 음수인지, 0인지, 또는 양수인지를 구분하려면 조건이 3가지이기 때문에 elif의 사용이 훨씬 명확하고 안전합니다.

elif는 "else if"의 줄임말로, 앞의 if 조건이 거짓일 때만 이어서 다음 조건을 검사합니다. if-elif-else 구조를 사용하면 여러 케이스를 코드를 짧고 읽기 쉽게 만들 수 있습니다.

가장 작은 elif 예제: 수의 부호 구분

아래는 한 변수가 음수, 0, 양수 중 어느 것인지 판단하는 파이썬의 최소 예제입니다.

number = -7
if number < 0:
    print("음수입니다.")
elif number == 0:
    print("0입니다.")
else:
    print("양수입니다.")

실행 결과

음수입니다.

이 예제에서 if는 "number가 0보다 작은가?"를 먼저 검사합니다. 거짓이면 elif에서 "number가 0과 같은가?"를 확인합니다. 두 조건이 모두 거짓이면 마지막 else가 실행되므로 "양수"인 경우가 자연스럽게 남게 됩니다.

elif 코드 실행 순서와 핵심 줄 설명

  • 변수 number에 -7을 할당합니다.
  • if number < 0:에서 -7 < 0이므로 참이 되어 "음수입니다."가 출력됩니다.
  • 만약 number = 0이었다면 if는 거짓이 되어 elif number == 0:가 검사되고, 참이면 "0입니다."가 출력됩니다.
  • 음수나 0이 아니라면 마지막 else가 실행되어 "양수입니다."가 출력됩니다.

이처럼 elif는 순서대로 조건을 평가하며, 앞의 조건이 참이면 뒤의 elif나 else는 실행하지 않습니다.

실생활 예제: 사용자의 입력값 판별

실제 프로그램에서는 사용자가 값을 직접 입력하는 경우가 많습니다. 아래 예제는 input()으로 값을 받아 양수, 0, 음수를 구분하는 코드입니다.

user_input = input("정수를 입력하세요: ")
number = int(user_input)
if number < 0:
    print("입력한 값은 음수입니다.")
elif number == 0:
    print("입력한 값은 0입니다.")
else:
    print("입력한 값은 양수입니다.")

input()은 무조건 문자열을 반환하므로, int()로 정수형으로 변환이 필요합니다. 이처럼 사용자의 입력값을 판별할 때도 elif 구조를 쓰면 명확합니다.

초보자가 많이 하는 elif 실수와 수정법

elif를 잘못 사용하면 의도와 다르게 항상 else가 실행되거나, 모든 조건에 해당하지 않는 값이 누락될 수 있습니다.

잘못된 예: elif를 빠뜨리고 if만 여러 번 사용

number = 0
if number < 0:
    print("음수입니다.")
if number == 0:
    print("0입니다.")
else:
    print("양수입니다.")

위 코드는 number == 0인 경우 "0입니다."와 "양수입니다."가 모두 출력되는 잘못된 결과를 만듭니다. if-elif-else 구조를 써야 한 조건만 실행됩니다.

수정한 예제:

number = 0
if number < 0:
    print("음수입니다.")
elif number == 0:
    print("0입니다.")
else:
    print("양수입니다.")

실행 결과

0입니다.

이제 number == 0일 때 "0입니다."만 출력됩니다.

elif로 여러 조건을 더 확장하는 방법

필요하다면 elif를 여러 번 써서 더 다양한 상황을 구체적으로 나눌 수 있습니다. 예를 들어 점수 구간별로 등급을 매긴다거나, 입력값에 따라 여러 메시지를 출력할 때도 elif가 필수적입니다.

score = 85
if score >= 90:
    print("A 등급")
elif score >= 80:
    print("B 등급")
elif score >= 70:
    print("C 등급")
else:
    print("D 등급")

실행 결과

B 등급

이처럼 elif는 필요한 만큼 여러 개 연결할 수 있어 복잡한 조건 분기에서도 효율적입니다.

정리: elif의 핵심과 점검 사항

  • if-elif-else 구조는 여러 상황 중 하나만 실행할 때 필수입니다.
  • if와 elif 조건은 순서대로 검사하므로, 더 구체적인 조건을 먼저 써야 합니다.
  • 서로 다른 if 여러 개를 쓰면 조건이 겹칠 때 모두 실행될 수 있으니 주의해야 합니다.
  • 사용자 입력을 다룰 때는 int() 변환 등 자료형에 신경 써야 합니다.

연습 문제

  1. 정수 하나를 입력받아, if-elif-else 구조로 음수, 0, 양수를 판별하는 코드를 직접 작성해 보세요.
  2. 점수를 입력받아 90점 이상이면 "매우 잘함", 80~89는 "잘함", 70~79는 "보통", 그 이하는 "노력 필요"를 출력하는 코드를 만들어 보세요.
    힌트: elif를 2개 이상 사용할 수 있습니다.
  3. 사용자로부터 두 개의 정수를 입력받아, 두 수 중 큰 수를 먼저 출력하고, 두 수가 같으면 "같다"고 출력하는 코드를 작성해 보세요.
    힌트: elif를 활용해 세 가지 경우로 나눌 수 있습니다.