본문 바로가기

[Python] 16강 중첩 if 문 (if 안에 if) 이해하기

@도마22025. 12. 29. 18:00
728x90


이전 강의에서는 논리 연산자(and, or, not)로
여러 조건을 조합하는 방법을 배웠습니다.
이번 강의에서는 조건을 단계적으로 나눠서 처리하는
중첩 if 문을 알아봅니다.


중첩 if란 무엇인가

중첩 if는 말 그대로
if 문 안에 또 다른 if 문이 들어있는 구조입니다.

현실로 비유하면 이런 느낌입니다.

  • 먼저 나이를 확인하고
  • 성인이라면
  • 그 다음에 회원 여부를 확인한다

즉,
큰 조건 → 작은 조건 순서로 판단할 때 사용합니다.


1️⃣ 중첩 if 기본 구조

중첩 if의 기본 형태는 다음과 같습니다

if 조건1:
    if 조건2:
        실행할 코드

의미는 아주 단순합니다.

  • 조건1이 참이면
  • 그 안에서 조건2를 다시 검사한다

조건1이 거짓이면
안쪽 if는 아예 실행되지 않습니다.


2️⃣ 나이와 회원 여부 함께 검사하기

예제를 하나 봅니다.

age = int(input("나이를 입력하세요: "))
member = input("회원인가요? (y/n): ")

if age >= 20:
    if member == "y":
        print("성인 회원입니다.")

이 코드는

  • 나이가 20 이상이고
  • 회원인 경우에만

메시지를 출력합니다.


3️⃣ 중첩 if에 else 추가하기

중첩 if에도
else를 붙일 수 있습니다.

age = int(input("나이를 입력하세요: "))
member = input("회원인가요? (y/n): ")

if age >= 20:
    if member == "y":
        print("성인 회원입니다.")
    else:
        print("성인이지만 회원이 아닙니다.")
else:
    print("미성년자입니다.")

조건 흐름은 다음과 같습니다.

  1. 나이가 20 이상인가?
  2. 그렇다면 회원인가?
  3. 아니면 미성년자인가?

4️⃣ 중첩 if와 and의 차이

같은 조건이라도
논리 연산자와 중첩 if는 표현 방식이 다릅니다.

and 사용

if age >= 20 and member == "y":
    print("성인 회원입니다.")

중첩 if 사용

if age >= 20:
    if member == "y":
        print("성인 회원입니다.")

차이점은 다음과 같습니다.

  • and → 조건을 한 줄로 표현
  • 중첩 if → 조건을 단계적으로 표현

단계 설명이 필요할 때는 중첩 if가 더 읽기 쉽습니다.


5️⃣ 중첩 if에서 들여쓰기 주의하기

중첩 if에서는
들여쓰기가 더 중요해집니다.

if 조건1:
    if 조건2:
        코드
    else:
        코드
else:
    코드
  • 들여쓰기 위치가
  • 조건의 소속을 결정합니다.

들여쓰기가 틀리면
전혀 다른 결과가 나옵니다.


6️⃣ 실습 예제

아래 조건을 만족하는 프로그램을 만들어보세요.

  • 나이를 입력받는다
  • 20 이상이면 성인
  • 성인 중에서 회원이면 “할인 대상”
  • 성인이지만 회원이 아니면 “일반 요금”
  • 미성년자는 “입장 불가”
age = int(input("나이를 입력하세요: "))
member = input("회원인가요? (y/n): ")

if age >= 20:
    if member == "y":
        print("할인 대상입니다.")
    else:
        print("일반 요금입니다.")
else:
    print("입장 불가입니다.")

이번 강의 핵심 정리

  • 중첩 if는 if 안에 if가 들어간 구조이다
  • 조건을 단계적으로 나누어 판단할 수 있다
  • and와 중첩 if는 표현 방식의 차이다
  • 들여쓰기가 조건의 범위를 결정한다

이 예제를
and 연산자로 한 줄로 바꿀 수 있을까요?
어떤 방식이 더 읽기 쉬운지도 생각해보세요.

다음 강의에서는
반복문 for 기본 구조를 배웁니다.
이제 조건에서 벗어나
같은 작업을 여러 번 시키는 방법으로 넘어갑니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차