안녕하세요! 파이썬 학습 세 번째 시간입니다. 지난 시간에는 파이썬의 핵심 재료인 데이터 타입(숫자, 문자열)을 배웠습니다.
오늘은 프로그램이 단순히 위에서 아래로 실행되는 것이 아니라, 특정 조건에 따라 실행 흐름을 바꿀 수 있도록 만드는 방법을 배우겠습니다. 이 기능을 **조건문(Conditional Statement)**이라고 하며, 파이썬에서는 if, elif, else 키워드를 사용합니다.
1. 조건문이 필요한 이유
현실 세계의 거의 모든 결정은 조건에 따라 달라집니다.
- 예시: (만약) 날씨가 좋으면 $\rightarrow$ 산책을 간다. (그렇지 않고) 비가 오면 $\rightarrow$ 집에서 영화를 본다.
프로그래밍에서도 마찬가지입니다. '사용자가 로그인했는지', '재고가 남아있는지' 등의 조건에 따라 프로그램이 다른 행동을 하도록 지시하는 것이 조건문의 역할입니다.
2. 조건의 기본: 비교 연산자와 논리 연산자
if 문을 사용하려면 먼저 조건을 만드는 방법을 알아야 합니다. 조건의 결과는 항상 **불리언 값 (True 또는 False)**입니다.
2-1. 비교 연산자 (Comparison Operators)
두 값을 비교하여 참/거짓을 판단합니다.
| 연산자 | 의미 | 예시 | 결과 |
| == | 값이 같다 | 5 == 5 | True |
| != | 값이 같지 않다 | "apple" != "banana" | True |
| > | 초과 (크다) | 10 > 5 | True |
| < | 미만 (작다) | 10 < 5 | False |
| >= | 이상 (크거나 같다) | 10 >= 10 | True |
| <= | 이하 (작거나 같다) | 5 <= 3 | False |
2-2. 논리 연산자 (Logical Operators)
여러 개의 조건을 조합하여 복합적인 조건을 만들 때 사용합니다.
| 연산자 | 의미 | 예시 | 설명 |
| and | 모두 참일 때 참 | True and False | False |
| or | 하나라도 참이면 참 | True or False | True |
| not | 참이면 거짓, 거짓이면 참 | not True | False |
3. if, elif, else 구조 마스터하기
3-1. if와 else (단일 조건)
가장 기본적인 형태로, 조건이 참일 때와 그렇지 않을 때 실행할 코드를 분리합니다.
score = 85
if score >= 90:
print("A 학점입니다.")
else:
# 위의 조건(score >= 90)이 거짓일 때 무조건 실행
print("90점 미만입니다.")
3-2. elif (다중 조건)
여러 개의 조건을 순차적으로 검사할 때 사용합니다. elif는 "else if"의 줄임말로, if 조건이 거짓일 경우 다음 조건을 검사하라는 의미입니다.
score = 85
if score >= 90:
print("A 학점입니다.")
elif score >= 80: # 90점 미만 중에서 80점 이상인 경우
print("B 학점입니다.")
elif score >= 70: # 80점 미만 중에서 70점 이상인 경우
print("C 학점입니다.")
else:
print("F 학점입니다.") # 위의 모든 조건이 거짓일 때 실행
규칙 1: 들여쓰기 (Indentation)
파이썬은 C언어와 같은 중괄호({}) 대신 **들여쓰기(Indent)**를 사용하여 코드 블록을 구분합니다. if나 else 문 다음에 오는 코드는 반드시 4칸 공백 또는 Tab으로 들여쓰기 해야 합니다.
규칙 2: 콜론 (Colon)
if, elif, else 뒤에는 반드시 **콜론(:)**을 붙여야 합니다.
4. 복합 조건문 활용 예제
논리 연산자를 사용하여 더욱 정교한 조건을 만들어 봅시다.
is_member = True
balance = 15000
# 15000원 이상이거나(or), 멤버십 회원인 경우에 쿠폰 제공
if balance >= 10000 or is_member:
print("구매 가능합니다. 쿠폰이 발급됩니다.")
else:
print("잔액이 부족합니다.")
# 10000원 이상이면서(and), 멤버십 회원인 경우에만 VIP 혜택 제공
if balance >= 10000 and is_member:
print("VIP 특별 할인 적용!")
'개발 > Python' 카테고리의 다른 글
| [초급반] Step 6. 딕셔너리(Dictionary)와 셋(Set): 키-값 구조와 중복 없는 데이터 (0) | 2025.12.16 |
|---|---|
| [초급반] Step 5. 리스트(List)와 튜플(Tuple): 순서가 있는 데이터 다루기 (0) | 2025.12.16 |
| [초급반] Step 4. 반복문 정복: for와 while로 코드 자동화하기 (0) | 2025.12.16 |
| [초급반] Step 2. 파이썬의 데이터 타입: 숫자, 문자열, 불리언 완벽 마스터 (0) | 2025.12.13 |
| [초급반] Step 1. 파이썬 시작하기: 개발 환경 구축과 첫 코드 실행 (0) | 2025.12.10 |