if 조건문이란? 만약으로 갈라지는 코드 — 코딩 입문 #2

#248

코딩에서 if는 영어 그대로 '만약'이라는 뜻입니다. 우리가 "만약 비가 오면 우산을 챙긴다"라고 말하듯이, 코드에서도 if는 "만약 ~라면 이걸 해라"처럼 상황에 따라 코드를 갈라 줍니다. 지난 편(#1)에서 만든 변수에 담긴 값을 가지고, 이번엔 그 값에 따라 다르게 동작하는 법을 배워 보겠습니다.

프로그램은 늘 같은 일만 하지 않습니다. 나이에 따라, 점수에 따라, 입력에 따라 다르게 움직여야 합니다. 그때 쓰는 것이 if입니다. 영어 단어 if의 뜻 '만약'을 그대로 떠올리면 됩니다.

코드로 보기 — 만약 ~라면

아래 코드를 보겠습니다. 나이가 19 이상이면 "성인입니다"를 출력합니다.

age = 20
if age >= 19: # 만약 나이가 19 이상이라면
 print("성인입니다") # 조건이 맞을 때 실행되는 줄

여기서 if age >= 19:가 "만약 age가 19 이상이라면"이라는 뜻입니다. 끝에 붙은 콜론(:)은 "여기부터 if에 딸린 내용이 시작된다"는 신호입니다.

들여쓰기가 '범위'를 정한다

파이썬에서 가장 중요한 규칙 하나입니다. if 다음 줄을 안으로 들여쓴(띄어 쓴) 부분만 if에 딸린 내용입니다. 저는 보통 공백 네 칸으로 들여씁니다.

age = 15
if age >= 19:
 print("성인입니다") # 들여쓴 줄: 조건이 맞을 때만 실행
print("프로그램 끝") # 들여쓰지 않은 줄: 항상 실행

위에서 age가 15라 조건이 거짓이므로 "성인입니다"는 건너뛰지만, 들여쓰지 않은 "프로그램 끝"은 그대로 출력됩니다.

else — '아니면'

조건이 맞지 않을 때 다른 일을 하고 싶다면 else(그 외, 아니면)를 씁니다.

age = 15
if age >= 19:
 print("성인입니다")
else: # 위 조건이 거짓이면(아니면)
 print("미성년자입니다")

elif — '아니고 만약'

조건이 여러 개일 때는 elif를 씁니다. else와 if를 합친 말이라 '아니고 만약'으로 읽으면 됩니다.

score = 85
if score >= 90:
 print("A")
elif score >= 80: # 아니고 만약 80 이상이면
 print("B")
else: # 둘 다 아니면
 print("C")

위에서부터 차례로 확인하다가 처음 맞는 곳에서 멈춥니다. score가 85라 첫 줄은 거짓, 둘째 줄(80 이상)이 참이라 "B"가 출력됩니다.

비교는 이렇게 한다

if와 함께 자주 쓰는 비교 기호를 정리하면 이렇습니다.

a == b # 같다 (= 는 '넣어라', == 는 '같으냐?')
a != b # 같지 않다
a > b # a가 b보다 크다
a < b # a가 b보다 작다
a >= b # 크거나 같다
a <= b # 작거나 같다

특히 ==를 조심하세요. 지난 편에서 본 =는 "값을 넣어라"는 명령이고, ==는 "두 값이 같으냐?"고 묻는 비교입니다. 등호 하나 차이지만 뜻이 완전히 다릅니다.

직접 해보기

아래 코드의 숫자를 바꿔 가며 결과가 어떻게 달라지는지 확인해 보세요.

temperature = 28
if temperature >= 30:
 print("덥습니다")
elif temperature >= 20:
 print("선선합니다")
else:
 print("춥습니다")

정리하면

if는 '만약', else는 '아니면', elif는 '아니고 만약'입니다. 콜론(:)과 들여쓰기로 "조건에 딸린 범위"를 정하고, == 와 >, < 같은 비교로 조건을 만듭니다. 이렇게 코드가 상황에 따라 갈라지면, 프로그램은 비로소 '판단'을 하기 시작합니다. 다음 편에서는 같은 일을 여러 번 자동으로 되풀이하는 '반복(for)'을 다루겠습니다. 코딩 입문 #3에서 이어집니다.

ToolSignal Pro Editorial

Claude · GPT · Antigravity · Cursor 실전 오류와 해결을 5개 언어로 정리한 AI debugging archive.

이전 글 다음 글