Lesson 4

조건문 — if / elif / else로 판단하기

4 min Views 1

파이썬 들여쓰기 규칙과 if/elif/else 조건 분기 완전 정복

이번 강에서 배울 것

  • 파이썬 들여쓰기(indentation) 규칙 완전 이해
  • if / elif / else 조건 분기 구조
  • 중첩 조건문(Nested if)
  • 단축 조건식 — 삼항 연산자
  • 실전 프로젝트: 점수 등급 판정기

1. 조건문이란

조건문은 특정 조건이 참(True)일 때만 코드를 실행하도록 제어하는 구조입니다. 일상 생활에서 "만약 비가 오면 우산을 가져가자"와 같습니다. 파이썬에서는 if, elif, else 키워드를 사용합니다.

# 기본 if 구조
if 조건식:
    실행할 코드   # 들여쓰기 4칸 필수!

# if-else 구조
if 조건식:
    참일 때 실행
else:
    거짓일 때 실행

# if-elif-else 구조 (다중 조건)
if 조건1:
    조건1이 참일 때
elif 조건2:
    조건2가 참일 때
elif 조건3:
    조건3이 참일 때
else:
    모두 거짓일 때

2. 기본 if 문

temperature = 35

if temperature >= 30:
    print("더운 날씨입니다.")
    print("에어컨을 켜세요.")

# 조건이 False면 if 블록 전체 건너뜀
temperature = 20
if temperature >= 30:
    print("이건 출력 안 됩니다")  # 실행 안 됨

print("항상 출력됩니다")  # 들여쓰기 없으므로 조건 밖

# if-else
age = 17
if age >= 18:
    print("성인입니다.")
else:
    print("미성년자입니다.")
# → 미성년자입니다.

3. elif — 여러 조건 처리하기

score = 78

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

print(f"점수: {score}, 등급: {grade}")
# → 점수: 78, 등급: C

# 중요: elif는 위에서 아래로 순서대로 확인
# 처음으로 True인 조건만 실행되고 나머지는 건너뜀!

# 잘못된 예 (중첩 if vs elif 차이)
score2 = 95

# ❌ 이렇게 하면 중복 출력됨
if score2 >= 90:
    print("A 이상")
if score2 >= 80:
    print("B 이상")  # 95는 80도 만족하므로 이것도 출력!
if score2 >= 70:
    print("C 이상")  # 이것도 출력!

# ✅ elif 사용 시 처음 만족하는 것만 출력
if score2 >= 90:
    print("A 이상")   # 이것만 출력
elif score2 >= 80:
    print("B 이상")   # 건너뜀
elif score2 >= 70:
    print("C 이상")   # 건너뜀

4. 중첩 조건문(Nested if)

# if 안에 또 다른 if를 넣을 수 있음
age = 25
has_membership = True

if age >= 18:
    print("성인입니다.")
    if has_membership:
        print("멤버십 할인이 적용됩니다.")
        discount = 0.2
    else:
        print("할인 없음")
        discount = 0
else:
    print("미성년자는 이용 불가합니다.")

# 중첩보다는 and로 합치는 것이 더 깔끔할 때가 많음
if age >= 18 and has_membership:
    print("성인 멤버십 할인 적용")

# 문자열 비교
weather = "비"
if weather == "맑음":
    print("외출 추천")
elif weather == "비":
    print("우산을 챙기세요")
elif weather == "눈":
    print("미끄러우니 조심하세요")
else:
    print("날씨 정보 없음")

5. in 연산자 — 멤버십 확인

# in: 값이 목록/문자열에 포함되어 있는지 확인
fruits = ["사과", "바나나", "포도"]
print("사과" in fruits)   # → True
print("수박" in fruits)   # → False
print("수박" not in fruits)  # → True

# 조건문에서 활용
day = "토요일"
if day in ["토요일", "일요일"]:
    print("주말입니다!")
else:
    print("평일입니다.")

# 문자열에서도 사용 가능
email = "user@example.com"
if "@" in email:
    print("유효한 이메일 형식")
else:
    print("이메일 형식 오류")

6. 삼항 연산자 (조건부 표현식)

# 파이썬 삼항 연산자: 참일때값 if 조건 else 거짓일때값
age = 20
status = "성인" if age >= 18 else "미성년자"
print(status)  # → 성인

# 활용 예시
score = 85
result = "합격" if score >= 60 else "불합격"
print(result)  # → 합격

x = 7
parity = "홀수" if x % 2 != 0 else "짝수"
print(parity)  # → 홀수

# 단순한 조건에 유용, 복잡하면 일반 if-else가 더 읽기 쉬움

7. 실전: 점수 등급 판정기

print("=== 성적 등급 판정기 ===")
name  = input("이름: ")
score = int(input("점수 (0~100): "))

if score < 0 or score > 100:
    print("올바른 점수를 입력하세요 (0~100)")
elif score >= 90:
    grade = "A"
    comment = "최우수"
elif score >= 80:
    grade = "B"
    comment = "우수"
elif score >= 70:
    grade = "C"
    comment = "보통"
elif score >= 60:
    grade = "D"
    comment = "미흡"
else:
    grade = "F"
    comment = "불합격"

print(f"\n{name}님의 성적: {score}점 → {grade}등급 ({comment})")
# 입력: 김민준 / 85
# 출력: 김민준님의 성적: 85점 → B등급 (우수)

4강 핵심 요약

  • if/elif/else: 위에서 아래로 순서대로 확인, 처음 True인 것만 실행
  • 들여쓰기 4칸은 파이썬 필수 규칙 — 틀리면 IndentationError
  • 여러 if는 모두 검사, elif는 첫 번째 True에서 멈춤
  • in 연산자로 목록·문자열 포함 여부 간단히 확인
  • 삼항 연산자: 값 if 조건 else 값 — 단순 분기에 유용
  • 다음 강: 반복문 — for와 while로 같은 코드를 반복 실행하기

관련 검색어  ·  파이썬조건문, if elif else, 파이썬if문, 중첩조건문, 삼항연산자파이썬, in연산자, 파이썬들여쓰기

0 Comments

채용정보
공지사항
인사이트
MY