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("미성년자입니다.")
조건 흐름은 다음과 같습니다.
- 나이가 20 이상인가?
- 그렇다면 회원인가?
- 아니면 미성년자인가?
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
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 18강 range 함수로 반복 횟수 조절하기 (0) | 2025.12.30 |
|---|---|
| [Python] 17강 반복문 for 기본 구조 이해하기 (0) | 2025.12.29 |
| [Python] 15강 논리 연산자(and, or, not)로 조건 조합하기 (0) | 2025.12.28 |
| [Python] 14강 조건문 실전 예제로 감 잡기 (0) | 2025.12.28 |
| [Python] 13강 elif로 여러 조건 처리하기 (0) | 2025.12.27 |