
변수와 데이터 타입을 이해했다면 이제 파이썬으로 ‘생각하는 코드’를 만들 차례다. 오늘의 주제는 바로 조건문 if. 프로그램이 스스로 판단하고 선택하도록 만드는 논리의 핵심이다. 이 글에서는 if문의 기본 구조, 여러 조건 결합, 중첩 조건문, 그리고 실무에 유용한 예제까지 1시간 안에 완벽히 익힐 수 있도록 안내한다.
- if, elif, else의 구조를 완전히 이해한다.
- 복합 조건문(AND, OR, NOT)을 활용한다.
- 실제 상황에 맞는 분기 프로그램을 직접 만들어본다.
1. 조건문이란?
조건문은 프로그램이 ‘상황에 따라 다르게 행동’하도록 만드는 구조다. 즉, 조건이 참(True)이면 특정 코드를 실행하고, 거짓(False)이면 다른 경로를 선택한다.
if 조건:
실행할 코드
else:
다른 경우 실행할 코드
2. if의 기본 구조
가장 단순한 형태의 if문부터 시작해 보자.
score = 85
if score >= 80:
print("합격입니다!")
위 코드는 score가 80 이상일 때만 문장을 출력한다. 조건이 거짓이면 아무 일도 일어나지 않는다.
else문 추가하기
조건이 거짓일 경우에도 행동을 지정하려면 else를 사용한다.
score = 70
if score >= 80:
print("합격입니다!")
else:
print("불합격입니다.")
elif로 여러 조건 비교하기
여러 경우를 구분하고 싶을 때는 elif를 사용한다.
score = 92
if score >= 90:
print("A 학점")
elif score >= 80:
print("B 학점")
elif score >= 70:
print("C 학점")
else:
print("F 학점")
조건은 위에서부터 순서대로 검사 되며, 처음으로 True가 되는 블록만 실행된다.
3. 비교 연산자와 논리 연산자
조건문에서는 다양한 연산자를 사용해 판단을 내린다.
| 연산자 | 의미 | 예시 |
|---|---|---|
| == | 같다 | x == 10 |
| != | 같지 않다 | x != 5 |
| >, < | 크다 / 작다 | x > 3, x < 10 |
| >=, <= | 크거나 같다 / 작거나 같다 | x >= 5, x <= 20 |
두 개 이상의 조건을 결합할 때는 논리 연산자를 사용한다.
age = 25
is_student = True
if age < 30 and is_student:
print("청년 학생 할인 대상입니다.")
and는 두 조건이 모두 참일 때, or는 둘 중 하나만 참일 때 True가 된다. not은 조건의 결과를 반대로 뒤집는다.
4. 중첩 조건문
조건문 안에 또 다른 조건문을 넣을 수도 있다.
score = 95
attendance = 80
if score >= 90:
if attendance >= 75:
print("A 학점 (출석 우수)")
else:
print("A 학점이지만 출석 미달")
else:
print("다음에 더 노력하세요!")
이처럼 논리를 단계적으로 세분화하면 복잡한 상황도 간단하게 표현할 수 있다.
5. 파이썬의 들여 쓰기 규칙
6. 실습 예제: 카페 주문 프로그램
이제 조건문을 이용해 간단한 주문 시스템을 만들어보자.
# day04_cafe.py
menu = input("주문할 음료를 선택하세요 (아메리카노/라떼/주스): ")
if menu == "아메리카노":
print("아메리카노 3,000원입니다.")
elif menu == "라떼":
print("라떼 3,500원입니다.")
elif menu == "주스":
print("주스 4,000원입니다.")
else:
print("죄송합니다, 해당 메뉴는 없습니다.")
프로그램을 실행하면 사용자의 입력에 따라 다른 결과가 출력된다. 이처럼 조건문은 프로그램의 “판단력”을 만드는 핵심 요소다.
7. 복합 예제: 점수와 등급 평가
두 가지 조건(점수와 출석률)을 함께 고려하는 프로그램을 만들어보자.
# day04_grade.py
score = int(input("시험 점수: "))
attendance = int(input("출석률(%): "))
if score >= 90 and attendance >= 80:
print("A 학점")
elif score >= 80 and attendance >= 70:
print("B 학점")
elif score >= 70 and attendance >= 60:
print("C 학점")
else:
print("F 학점, 재도전하세요!")
이 코드는 단순한 논리를 넘어, 실제 학습 시스템에서 사용할 수 있는 조건 구조의 기초다.
8. 오늘의 1시간 학습 루틴
| 시간 | 활동 내용 |
|---|---|
| 10분 | if-else 구조 이해 및 기본 예제 복습 |
| 20분 | elif와 논리 연산자 실습 |
| 20분 | 카페 주문 프로그램 구현 |
| 10분 | 복합 조건문 연습 및 오류 해결 |
오늘은 프로그램에 ‘논리’를 추가했다. 조건문을 활용하면 코드가 상황에 따라 다르게 반응한다. 내일은 반복문 for와 while을 배우며, 반복되는 작업을 자동으로 처리하는 법을 익힐 것이다. 이제 파이썬은 점점 ‘자동화 도구’의 형태를 갖춰간다.