프로그램이 조건에 따라 스스로 판단하게 만들기! 😊 if문은 프로그래밍의 핵심입니다. 게임에서 “HP가 0이면 게임오버”, 쇼핑몰에서 “재고가 있으면 구매 가능”, 은행 앱에서 “비밀번호가 맞으면 로그인” 같은 모든 판단이 if문으로 만들어집니다. 오늘부터 여러분의 프로그램이 똑똑해질 거예요!
(15분 완독 ⭐⭐)
🎯 오늘의 학습 목표
📚 사전 지식
🎯 학습 목표 1: if문이 무엇인지 이해하기
한 줄 설명
if문 = 조건에 따라 다르게 행동하기
“만약 ~라면 …을 해라”를 코드로 표현하는 방법입니다.
실생활 비유
1
2
3
4
5
| 날씨가 비가 오면 → 우산을 챙긴다
그렇지 않으면 → 그냥 나간다
나이가 20세 이상이면 → "성인입니다"
그렇지 않으면 → "미성년자입니다"
|
기본 if문
문법
💡 중요: 콜론(:)과 들여쓰기(4칸 또는 Tab) 필수!
첫 if문 작성
1
2
3
4
| age = 20
if age >= 18:
print("성인입니다")
|
출력:
조건이 거짓이면?
1
2
3
4
5
6
| age = 15
if age >= 18:
print("성인입니다")
print("프로그램 끝")
|
출력:
💡 조건이 거짓이면 if 안의 코드는 실행되지 않습니다!
🎯 학습 목표 2: if-else로 양자택일 구현하기
“그렇지 않으면”을 표현하기
1
2
3
4
5
6
| age = 15
if age >= 18:
print("성인입니다")
else:
print("미성년자입니다")
|
출력:
실습 예제
1
2
3
4
5
6
7
| # 짝수/홀수 판별
number = 7
if number % 2 == 0:
print(f"{number}는 짝수입니다")
else:
print(f"{number}는 홀수입니다")
|
출력:
🎯 학습 목표 3: if-elif-else로 다중 조건 처리하기
여러 조건 처리하기
1
2
3
4
5
6
7
8
9
10
| score = 85
if score >= 90:
print("A등급")
elif score >= 80:
print("B등급")
elif score >= 70:
print("C등급")
else:
print("D등급")
|
출력:
💡 elif = else if (그렇지 않고 만약 ~라면)
계절 판별 예제
1
2
3
4
5
6
7
8
9
10
| month = 7
if month >= 3 and month <= 5:
print("봄입니다")
elif month >= 6 and month <= 8:
print("여름입니다")
elif month >= 9 and month <= 11:
print("가을입니다")
else:
print("겨울입니다")
|
출력:
🎯 학습 목표 4: 비교 연산자로 조건 만들기
비교 연산자 종류
1
2
3
4
5
6
7
8
9
| a = 10
b = 20
print(a == b) # False (같다)
print(a != b) # True (다르다)
print(a > b) # False (크다)
print(a < b) # True (작다)
print(a >= b) # False (크거나 같다)
print(a <= b) # True (작거나 같다)
|
문자열 비교
1
2
3
4
5
6
7
| name = "홍길동"
if name == "홍길동":
print("이름이 일치합니다")
if name != "김철수":
print("다른 사람입니다")
|
출력:
🎯 학습 목표 5: 논리 연산자로 복잡한 조건 만들기
and (그리고)
둘 다 참이어야 참
1
2
3
4
5
| age = 25
has_license = True
if age >= 18 and has_license:
print("운전할 수 있습니다")
|
출력:
or (또는)
하나만 참이어도 참
1
2
3
4
5
| is_weekend = True
is_holiday = False
if is_weekend or is_holiday:
print("쉬는 날입니다")
|
출력:
not (부정)
참/거짓을 뒤집기
1
2
3
4
| is_raining = False
if not is_raining:
print("우산이 필요 없습니다")
|
출력:
🎯 학습 목표 6: 중첩 if와 in 연산자 활용하기
중첩 if문
if 안에 if 넣기
1
2
3
4
5
6
7
8
9
10
| age = 25
has_ticket = True
if age >= 18:
if has_ticket:
print("입장 가능합니다")
else:
print("티켓이 필요합니다")
else:
print("미성년자는 입장 불가")
|
출력:
더 간단하게 (and 사용)
1
2
3
4
5
6
7
8
9
| age = 25
has_ticket = True
if age >= 18 and has_ticket:
print("입장 가능합니다")
elif age >= 18:
print("티켓이 필요합니다")
else:
print("미성년자는 입장 불가")
|
in 연산자 - 포함 여부 확인
리스트에 포함되어 있는지
1
2
3
4
5
6
7
| fruits = ["사과", "바나나", "포도"]
if "사과" in fruits:
print("사과가 있습니다")
if "딸기" not in fruits:
print("딸기가 없습니다")
|
출력:
문자열에 포함되어 있는지
1
2
3
4
5
6
7
| text = "Python은 재미있어요"
if "Python" in text:
print("Python이라는 단어가 있습니다")
if "어려" not in text:
print("'어려'라는 단어가 없습니다")
|
출력:
1
2
| Python이라는 단어가 있습니다
'어려'라는 단어가 없습니다
|
💻 실습 예제
예제 1: 로그인 시스템
1
2
3
4
5
6
7
8
9
10
| username = "admin"
password = "1234"
input_user = "admin"
input_pass = "1234"
if input_user == username and input_pass == password:
print("로그인 성공!")
else:
print("아이디 또는 비밀번호가 틀렸습니다")
|
출력:
예제 2: BMI 계산 및 판정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| height = 1.75 # 미터
weight = 70 # 킬로그램
bmi = weight / (height ** 2)
if bmi < 18.5:
print("저체중")
elif bmi < 23:
print("정상")
elif bmi < 25:
print("과체중")
else:
print("비만")
print(f"당신의 BMI: {bmi:.1f}")
|
출력:
예제 3: 할인 계산기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| price = 50000
is_member = True
quantity = 3
# 회원 할인 10%
if is_member:
price = price * 0.9
# 3개 이상 구매시 추가 5% 할인
if quantity >= 3:
price = price * 0.95
total = price * quantity
print(f"총 결제 금액: {total:.0f}원")
|
출력:
💡 실전 팁 & 주의사항
💡 Tip 1: 들여쓰기 필수
1
2
3
4
5
6
7
| # ❌ 잘못된 예 (들여쓰기 없음)
if age >= 18:
print("성인입니다") # IndentationError!
# ✅ 올바른 예 (4칸 또는 Tab)
if age >= 18:
print("성인입니다")
|
💡 Tip 2: 콜론(:) 필수
1
2
3
4
5
6
7
| # ❌ 잘못된 예
if age >= 18
print("성인입니다") # SyntaxError!
# ✅ 올바른 예
if age >= 18:
print("성인입니다")
|
💡 Tip 3: 대입(=) vs 비교(==)
1
2
3
4
5
6
7
| # ❌ 잘못된 예 (대입)
if age = 18: # SyntaxError!
print("18세입니다")
# ✅ 올바른 예 (비교)
if age == 18:
print("18세입니다")
|
💡 Tip 4: if vs elif 차이
증상:
1
2
3
4
5
6
| score = 95
if score >= 60:
print("합격")
if score >= 90:
print("우수")
|
출력:
문제: 두 조건이 모두 실행됨
해결:
1
2
3
4
5
6
| score = 95
if score >= 90:
print("우수")
elif score >= 60:
print("합격")
|
출력:
💡 Tip 5: Boolean 변수는 간결하게
복잡한 코드:
1
2
| if age >= 18 and has_ticket == True and is_open == True:
print("입장 가능")
|
간단하게:
1
2
3
| # Boolean 변수는 그 자체로 조건
if age >= 18 and has_ticket and is_open:
print("입장 가능")
|
💡 Tip 6: in 연산자로 간결하게
1
2
3
4
5
6
7
| # ❌ 복잡한 방법
if fruit == "사과" or fruit == "바나나" or fruit == "포도":
print("과일입니다")
# ✅ 간결한 방법
if fruit in ["사과", "바나나", "포도"]:
print("과일입니다")
|
🧪 연습 문제
문제 1: 절대값 구하기
숫자의 절대값을 if문으로 구하세요. (절대값 = 음수면 양수로, 양수면 그대로)
💡 힌트
✅ 정답
1
2
3
4
5
6
7
8
9
| number = -5
if number < 0:
absolute = number * -1
else:
absolute = number
print(f"{number}의 절대값: {absolute}")
# -5의 절대값: 5
|
문제 2: 윤년 판별
연도가 윤년인지 판별하세요.
- 4로 나누어떨어지면 윤년
- 단, 100으로 나누어떨어지면 평년
- 단, 400으로 나누어떨어지면 윤년
💡 힌트
✅ 정답
1
2
3
4
5
6
| year = 2024
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year}년은 윤년입니다")
else:
print(f"{year}년은 평년입니다")
|
문제 3: 가위바위보 게임
컴퓨터와 사용자의 선택을 비교해서 승패를 판정하세요.
✅ 정답
1
2
3
4
5
6
7
8
9
10
11
12
13
| user = "가위"
computer = "보"
if user == computer:
print("무승부!")
elif user == "가위" and computer == "보":
print("사용자 승리!")
elif user == "바위" and computer == "가위":
print("사용자 승리!")
elif user == "보" and computer == "바위":
print("사용자 승리!")
else:
print("컴퓨터 승리!")
|
📝 오늘 배운 내용 정리
- if문: 조건이 참일 때만 실행
- if-else: 참/거짓에 따라 다르게 실행
- if-elif-else: 여러 조건 처리
- 비교 연산자: ==, !=, >, <, >=, <=
- 논리 연산자: and, or, not
- in 연산자: 포함 여부 확인
🎯 실습 과제
과제: 간단한 계산기
두 숫자와 연산자를 받아서 계산하는 프로그램을 만드세요.
예시:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| a = 10
b = 5
operator = "+"
if operator == "+":
result = a + b
elif operator == "-":
result = a - b
elif operator == "*":
result = a * b
elif operator == "/":
if b != 0:
result = a / b
else:
result = "0으로 나눌 수 없습니다"
else:
result = "잘못된 연산자"
print(f"{a} {operator} {b} = {result}")
|
🔗 관련 자료
📚 이전 학습
Day 7: 리스트 다루기 ⭐
어제는 리스트를 만들고 사용하는 방법을 배웠습니다!
📚 다음 학습
Day 9: 반복문 for ⭐⭐
내일은 같은 작업을 반복하는 for문을 배웁니다!
“늦었다고 생각할 때가 가장 빠른 시기입니다!” 🚀
| Day 8/100 | Phase 1: Python 시작하기 | #100DaysOfPython |