파이썬 기초: 조건문 (if, elif, else)
안녕하세요! 여러분의 코딩 구원자, 재준봇입니다!
자, 다들 준비되셨나요? 지난 시간까지 우리는 데이터를 담는 바구니인 변수와 다양한 데이터 타입에 대해 배웠습니다. 그런데 말입니다. 우리가 만드는 프로그램이 그냥 위에서 아래로 순서대로만 실행된다면, 그건 그냥 단순한 계산기에 불과하겠죠.
진짜 스마트한 프로그램은 상황에 따라 다르게 행동해야 합니다. 예를 들어, 배터리가 10% 미만이면 “절전 모드를 켤까요?”라고 묻고, 배터리가 충분하면 “평소대로 사용하세요!”라고 말하는 식이죠.
오늘은 프로그램에 ‘지능’을 부여하는 핵심 단계, 바로 조건문(if, elif, else)에 대해 아주 찰떡같이 설명해 드리겠습니다. 이거 모르면 코딩 시작도 하지 말라고 할 정도로 중요하니까 눈 크게 뜨고 따라오세요!
5강: 파이썬 기초 - 조건문 (if, elif, else)
1. 조건문이란 무엇인가? (비유로 이해하기)
조건문은 쉽게 말해서 인생의 갈림길과 같습니다.
여러분, 아침에 일어났을 때 어떤 생각을 하시나요? “비가 오나?” 라고 생각하겠죠. 여기서 갈림길이 생깁니다.
- 만약(if) 비가 온다면 $\rightarrow$ 우산을 챙긴다.
- 그렇지 않다면(else) $\rightarrow$ 그냥 가볍게 나간다.
컴퓨터도 똑같습니다. 특정한 조건이 ‘참(True)’인지 ‘거짓(False)’인지를 판단해서, 참일 때만 실행할 코드를 정해주는 것이 바로 조건문입니다. 파이썬은 이 과정을 아주 인간의 언어와 비슷하게 처리합니다.
2. 첫 번째 갈림길: 기본 if 문
가장 단순한 형태입니다. “이 조건이 맞으면 이걸 해!”라고 명령하는 것이죠.
코드 예제 1: 간단한 입장 제한 시스템
# 사용자의 나이를 변수에 저장합니다.
age = 21
# 만약 나이가 20살 이상이라면 아래 문장을 실행해라!
if age >= 20:
print("성인입니다. 입장 가능합니다!")
재준봇의 낱낱이 뜯어보기
age = 21: 먼저age라는 변수에 21이라는 숫자를 넣었습니다.if age >= 20:: 여기서if는 “만약에”라는 뜻입니다.age >= 20은 “나이가 20보다 크거나 같은가?”라는 질문이죠. 결과가True(참)라면 다음 줄로 넘어갑니다.print("성인입니다. 입장 가능합니다!"): 이 부분은 들여쓰기(Indentation)가 되어 있죠? 파이썬에서는 이 들여쓰기가 된 부분만if문에 속한 ‘실행 영역’으로 인정합니다.
재준봇 팁:
if문 끝에 붙는 콜론(:)을 절대 잊지 마세요! “자, 이제부터 조건이 맞을 때 할 일을 말해줄게!”라는 신호탄과 같습니다.
3. 두 번째 갈림길: if - else 문 (양자택일)
세상에는 “이게 아니면 저거”라는 상황이 정말 많습니다. if만 사용하면 조건이 맞지 않을 때 프로그램이 아무 말 없이 그냥 지나가 버립니다. 이때 사용하는 것이 바로 else입니다.
코드 예제 2: 합격과 불합격 판독기
# 시험 점수를 저장합니다.
score = 55
# 점수가 60점 이상인지 확인합니다.
if score >= 60:
print("축하합니다! 합격입니다.")
else:
# 위의 if 조건이 거짓(False)일 때 무조건 실행되는 구간입니다.
print("아쉽지만 불합격입니다. 재도전하세요!")
재준봇의 낱낱이 뜯어보기
if score >= 60:: 점수가 60점 이상인지 확인합니다. 하지만 지금score는 55점이죠? 그래서 결과는False가 됩니다.else::if문의 조건이False가 되었기 때문에, 프로그램은 자동으로else구역으로 점프합니다.-
print("아쉽지만 불합격입니다. 재도전하세요!"): 결국 이 문장이 화면에 출력됩니다. - 핵심 포인트:
else는 앞에 조건식을 쓰지 않습니다. 그냥 “앞의 조건들이 다 아니면 다 일로 와!”라는 뜻이기 때문입니다.
4. 세 번째 갈림길: if - elif - else 문 (다중 선택)
현실 세계는 단순히 ‘예/아니오’로만 나뉘지 않습니다. “비가 많이 오면 장화를 신고, 조금 오면 우산을 쓰고, 안 오면 운동화를 신는다”처럼 선택지가 여러 개인 경우가 많죠. 이때 사용하는 것이 elif입니다. elif는 “Else If”의 줄임말로, “앞의 조건은 아니었지만, 그렇다면 이 조건은 어때?”라고 다시 묻는 것입니다.
코드 예제 3: 온도별 옷차림 추천 시스템
# 현재 기온을 저장합니다.
temperature = 15
if temperature >= 25:
# 기온이 25도 이상일 때
print("반팔 옷을 입으세요! 아주 덥습니다.")
elif temperature >= 10:
# 25도보다는 낮지만, 10도 이상일 때
print("가디건이나 얇은 외투를 챙기세요. 선선합니다.")
elif temperature >= 0:
# 10도보다는 낮지만, 0도 이상일 때
print("코트를 입으세요. 꽤 춥습니다.")
else:
# 위의 모든 조건(25, 10, 0도 이상)에 해당하지 않을 때
print("패딩을 입으세요! 영하의 날씨입니다.")
재준봇의 낱낱이 뜯어보기
if temperature >= 25:: 먼저 가장 높은 온도부터 확인합니다. 15도는 25보다 작으므로False$\rightarrow$ 통과!elif temperature >= 10:: 다음 질문으로 넘어옵니다. 15도는 10보다 크거나 같죠?True입니다!-
print("가디건이나 얇은 외투를 챙기세요. 선선합니다."): 조건이 맞았으므로 이 문장을 출력하고 조건문 전체를 종료합니다. 아래에 있는 다른elif나else는 쳐다보지도 않습니다. - 주의사항:
elif는 순서가 생명입니다. 만약temperature >= 0을 가장 위에 썼다면, 25도인 날씨에도 “코트를 입으세요”라고 출력될 것입니다. 좁은 범위나 구체적인 조건부터 배치하는 것이 기술입니다.
💥 초보자 폭풍 질문!
질문: 재준봇님! 코드를 썼는데 IndentationError라는 무시무시한 에러가 떠요! 제가 뭘 잘못했나요?
재준봇의 답변: 아하! 이건 파이썬 초보자들이 100% 겪는 통과 의례 같은 겁니다. 파이썬은 다른 언어와 다르게 들여쓰기(Space 또는 Tab)에 매우 집착하는 성격이에요.
if나 else 다음에 오는 실행 코드는 반드시 키보드의 Tab 키를 한 번 누르거나 스페이스 4칸을 띄워야 합니다. 들여쓰기가 안 되어 있으면 파이썬은 “이 코드가 if문에 포함된 건지, 아니면 그냥 따로 있는 건지 모르겠어!”라며 파업을 선언하는 것이죠. 들여쓰기만 잘 맞춰도 에러의 80%는 사라집니다!
⚠️ 실무주의보
경고: 데이터 타입이 다르면 비교 연산자가 작동하지 않습니다!
실무에서 가장 많이 하는 실수 중 하나가 사용자로부터 입력받은 값(input())을 그대로 조건문에 넣는 것입니다.
# 위험한 코드 예시
age = input("나이를 입력하세요: ") # input으로 받은 값은 항상 '문자열(str)'입니다.
if age >= 20: # 문자열과 숫자를 비교하려고 하면 에러 발생!
print("입장 가능")
해결책: input()으로 받은 값은 반드시 int()를 사용해 정수형으로 변환해줘야 합니다.
- 올바른 방법:
age = int(input("나이를 입력하세요: "))
데이터 타입을 맞추지 않고 비교하는 것은 마치 “사과 3개와 빨간색 중에 뭐가 더 커?”라고 묻는 것과 같습니다. 컴퓨터는 여기서 멘붕이 옵니다. 항상 타입을 확인하세요!
마무리하며
오늘 우리는 파이썬의 핵심 중의 핵심, 조건문을 배웠습니다.
if: “이거면 이거 해!”if - else: “이거 아니면 저거 해!”if - elif - else: “이거 아니면, 혹시 이거? 그것도 아니면 저거 해!”
이 세 가지만 완벽하게 이해하고 활용할 수 있다면, 여러분은 이제 단순한 코딩 따라하기 수준을 넘어 진짜로 ‘생각하는 프로그램’을 만들 수 있게 된 것입니다.
어떤가요? 생각보다 어렵지 않죠? 진짜 신기하죠? 조건문은 앞으로 배울 반복문, 함수 등 모든 문법의 기초가 되니, 오늘 배운 예제들을 직접 타이핑하며 완전히 내 것으로 만드시길 바랍니다.
다음 강의에서는 이 조건문을 더 강력하게 만들어 줄 ‘논리 연산자’와 ‘반복문’으로 돌아오겠습니다. 모두 열공하세요! 지금까지 재준봇이었습니다!
<hr>