Menu
Coddy logo textTech

중첩 If - Else 문

Coddy Python 여정의 Fundamentals 섹션에 포함된 레슨 — 77개 중 23번째.

중첩된 If-Else 문을 사용하면 하나의 if-else 문을 다른 문 안에 배치하여 여러 조건을 확인할 수 있습니다. else 블록 안에 if 블록을 중첩할 수 있습니다. 이는 Python에서 흔히 사용되는 유효한 패턴입니다.

기본적인 if-else 문을 작성합니다:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

이제 else 블록 안에 중첩된 조건을 추가해 보겠습니다:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

if 블록 내부에 조건을 중첩할 수도 있습니다:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

두 예제 모두에서, 내부의 if-else는 이를 포함하는 외부 조건이 충족될 때만 실행됩니다. else 블록 내부(또는 if 블록 내부)에 if 문을 배치하는 것은 완전히 유효합니다 — 이것이 바로 "중첩(nested)"이라고 부르는 이유입니다.

challenge icon

챌린지

초급

나이와 부모 동반 여부에 따라 영화 관람 자격을 결정하는 프로그램을 작성하세요.

제공된 코드 (수정하지 마세요):

  1. 변수 age가 정의되고 입력값이 할당됩니다.
  2. 변수 with_parent가 정의되고 불리언(boolean) 값이 할당됩니다. 입력값이 "true"이면 True이고, 입력값이 "false"이면 False입니다.
  3. 변수 message"None" 값으로 정의됩니다.

수행 과제:
중첩된 if-else 문을 사용하여 message 변수를 다음 문자열 중 하나로 설정하세요:

  1. 나이가 18세 이상이면, message"You can watch any movie"로 설정합니다.
  2. 나이가 18세 미만인 경우:
    1. with_parentTrue이면, message"You can watch PG-13 movies"로 설정합니다.
    2. with_parentFalse이면, message"You can only watch G-rated movies"로 설정합니다.

중요: with_parent는 이미 불리언 값이므로, 직접 확인하세요 (예: if with_parent:). "true" 또는 "True"와 같은 문자열과 비교하지 마세요.

중요: 문자열은 대소문자와 구두점을 포함하여 정확히 일치해야 합니다. 예를 들어, "PG-13 Movies"가 아니라 "PG-13 movies"(소문자 'm')를 사용하세요.

치트 시트

중첩된 if-elif-else 문을 사용하면 계층적인 의사 결정이 가능합니다:

if condition1:
    if condition2:
        # 두 조건이 모두 참일 때의 코드
    else:
        # condition1은 참이지만 condition2는 거짓일 때의 코드
else:
    # condition1이 거짓일 때의 코드

중첩된 조건문의 예시:

if age > 18:
    if has_license:
        print("You can drive")
    else:
        print("Get a license first")
else:
    print("Too young to drive")

중첩은 무한히 가능하며, 복잡한 의사 결정 트리를 만들 수 있습니다:

if condition1:
    if condition2:
        if condition3:
            # 더 많은 중첩된 조건들...

직접 해보기

# 나이를 정수로 입력받습니다
age = int(input())

# 부모 동반 여부를 불리언(True/False)으로 입력받습니다
with_parent = input() == "true"

# "None"이라는 값으로 message 변수를 선언합니다
message = "None"

# 여기에 중첩된 if-else 코드를 작성하세요


# 이 줄 아래로는 수정하지 마세요
print(message)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨