Application/Python

[Python] 파이썬 조건문: if, elif, else 쉽게 이해하기

devsalix 2026. 4. 18. 16:54
728x90

조건문: if, elif, else 쉽게 이해하기

지난 글에서 input()으로 사용자한테 값을 받는 법을 같이 봤잖아요. 근데 막상 값을 받고 나면, 그걸 그냥 출력만 하기엔 좀 아쉬우셨을 거예요. 저도 처음 input을 배웠을 때 "이 값으로 뭔가 판단을 해야 할 것 같은데, 어떻게 하지?" 하고 한참 멈춰 있었거든요.

예를 들어 나이를 입력받았으면, 성인인지 아닌지를 구분해주고 싶잖아요. 점수를 받았으면 등급으로 보여주고 싶고요. 이렇게 "상황에 따라 다르게 동작" 하게 만들어주는 문법이 오늘 다룰 조건문이에요.


파이썬 조건문이 왜 필요할까요

프로그램은 결국 "이런 경우엔 이렇게, 저런 경우엔 저렇게" 하는 판단의 연속이에요. 자판기를 떠올려보세요. 동전이 충분하면 음료가 나오고, 부족하면 안 나오죠. 이 "~이면"이라는 판단을 코드로 표현한 게 조건문이에요.

파이썬에서는 if라는 단어 하나로 시작해요. 영어 단어 그대로, "만약 ~이라면"이라는 뜻이에요.


python if else, 가장 기본 구조부터

가장 간단한 예제부터 볼게요.

age = 20  # 나이를 20으로 정해둠
if age >= 19:  # 만약 나이가 19 이상이면
    print("성인입니다")  # 이 줄을 실행

 

실행하면 이렇게 나와요.

성인입니다

 

여기서 놓치면 안 되는 포인트 두 개만 짚을게요.

첫 번째, if 줄 끝에는 콜론(:) 이 꼭 붙어요. 이거 처음에 진짜 많이 까먹거든요. 저도 초반엔 거의 매번 빼먹었어요.

두 번째, 조건이 맞을 때 실행할 코드는 들여쓰기(스페이스 4칸) 로 안쪽으로 밀어 써야 해요. 파이썬은 다른 언어처럼 중괄호 {}를 안 쓰고, 이 들여쓰기로 "여기서부터 여기까지가 한 묶음이에요"를 표현하거든요.


조건이 아닐 때도 처리하고 싶다면: else

조건이 맞지 않을 때도 뭔가 하고 싶으면 else를 붙이면 돼요.

age = int(input("나이를 입력하세요: "))  # 입력받아서 숫자로 변환
if age >= 19:  # 19 이상이면
    print("성인입니다")  # 이 줄 실행
else:  # 그게 아니면
    print("미성년자입니다")  # 이 줄 실행

 

else 뒤에는 조건이 안 붙어요. 그냥 바로 콜론이에요. "위 조건에 해당 안 되는 나머지 모든 경우"라는 뜻이거든요.

그리고 여기 중요한 포인트 하나. input()으로 받은 값은 항상 문자열이에요. 숫자로 비교하려면 int()로 감싸줘야 하죠. 이거 안 하면 바로 뒤에 나올 에러 섹션에서 다시 만나실 거예요.


if-elif-else로 여러 조건 처리하기

두 갈래 말고, 세 갈래 네 갈래로 나누고 싶을 땐 elif를 써요. "else if"를 줄여 쓴 거예요. 다른 언어 쓰셨다면 습관적으로 else if라고 쓰기 쉬운데, 파이썬에서는 elif 한 단어로 붙여 써요.

시험 성적을 등급으로 바꿔볼게요.

score = int(input("점수를 입력하세요: "))  # 점수 입력받기

if score >= 90:       # 90점 이상이면
    print("A 등급")
elif score >= 80:     # 그게 아니고 80점 이상이면
    print("B 등급")
elif score >= 70:     # 그게 아니고 70점 이상이면
    print("C 등급")
else:                 # 나머지는 전부
    print("F 등급")

 

위에서부터 차례로 검사해요. 참인 조건을 만나면 그 블록만 실행하고, 나머지는 그냥 건너뛰어요. 그래서 elif score >= 80 같은 조건에 "그리고 90 미만"이라고 안 써도 돼요. 어차피 90 이상이면 위에서 이미 걸러졌잖아요.

elif는 개수 제한이 없어요. 필요하면 열 개든 스무 개든 쓸 수 있지만, 너무 많아지면 읽기 힘드니 적당히 쓰는 게 좋아요.


논리 연산자 and, or 짧게

조건 두 개를 한꺼번에 묶고 싶을 때가 있어요. 예를 들어 "나이가 19살 이상이고, 티켓이 있어야" 입장 가능이라면요.

age = 20
has_ticket = True  # 티켓 있음

if age >= 19 and has_ticket:  # 둘 다 만족해야
    print("입장 가능")
else:
    print("입장 불가")

 

  • and: 둘 다 참일 때만 참
  • or: 둘 중 하나라도 참이면 참

"토요일이거나 일요일"이면 쉬는 날이라는 조건은 이렇게 써요.

day = input("무슨 요일이에요? ")  # 요일 입력받기
if day == "토" or day == "일":  # 둘 중 하나면 OK
    print("주말이에요")
else:
    print("평일이네요")

파이썬 if문에서 자주 하는 실수

제가 처음 배울 때 정말 많이 겪었던 것들만 추려볼게요.

 

1. 콜론 빼먹기

if age >= 19        # 콜론이 없어요
    print("성인")

 

SyntaxError: expected ':' 에러가 떠요. if 뒤엔 무조건 콜론, 이거 리듬처럼 외워두세요.

 

2. === 헷갈림

=값을 저장하는 기호, ==같은지 비교하는 기호예요. 완전히 다른 거예요.

if age = 20:   # 에러!
if age == 20:  # 이렇게 써야 함

 

3. 들여쓰기 실수

if age >= 19:
print("성인")  # 들여쓰기 안 됨

 

IndentationError가 떠요. if 아래 실행할 코드는 반드시 스페이스 4칸 들여써야 해요. 에디터에서 탭 키 한 번 누르면 자동으로 4칸 처리되니 너무 겁먹진 마세요.

 

4. True, False는 대문자로

true, false라고 쓰면 "그런 이름 없는데요?" 하면서 NameError가 나요. 첫 글자는 반드시 대문자 True, False예요.

실습 과제

오늘 배운 걸로 간단한 걸 하나 만들어보세요.

사용자에게 온도를 입력받아서 아래처럼 분류해주는 프로그램이에요.

  • 10도 미만: "춥네요"
  • 10도 이상 25도 이하: "따뜻해요"
  • 25도 초과: "덥네요"

힌트는 if, elif, else 세 개를 다 쓰시면 돼요. 막히시면 위에 성적 등급 예제를 참고하시고요. 다 만드시면 댓글로 공유해주셔도 좋아요.

 

조건에 따라 코드를 한 번 실행하는 법을 오늘 배웠는데요, 실제 프로그램을 만들다 보면 "같은 일을 여러 번 반복해야 하는" 상황이 엄청 많이 나와요. 리스트의 모든 값을 하나씩 꺼내본다거나, 100번 출력한다거나요. 그래서 다음 글에서는 반복문, forwhile을 같이 볼 거예요. 이거까지 익히시면 진짜로 "프로그램"이라 부를 만한 걸 만들 수 있어요.


 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90