12.3 중첩 if 조건문 사용하기

지금까지 if를 한 번만 사용하는 단순한 조건문을 사용했습니다. 하지만 프로그래밍을 하다 보면 if를 여러 번 사용하는 복잡한 조건도 자주 나옵니다. 이번에는 if를 여러 번 사용하는 중첩 if 조건문을 사용해보겠습니다. 다음은 변수의 값이 10 이상이면 '10 이상입니다.'를 출력한 뒤 15이면 '15입니다.', 20이면 '20입니다.'를 출력합니다.

if_if.py

x = 15
 
if x >= 10:
     print('10 이상입니다.')  # ← 들여쓰기 4칸
 
     if x == 15:  # ← 들여쓰기 4칸
         print('15입니다.')
#     ↑ 들여쓰기 8칸
 
     if x == 20:# ← 들여쓰기 4칸
         print('20입니다.')
#     ↑ 들여쓰기 8칸

실행 결과

10 이상입니다.
15입니다.

이번에도 들여쓰기에 주목해주세요. 먼저 x가 10 이상일 때 '10 이상입니다.'를 출력하는 코드입니다.

if x >= 10:
    print('10 이상입니다.')

if의 조건식에 따라 코드를 실행해야 하므로 print는 들여쓰기를 했습니다. 이제 if 안쪽의 if를 보면 들여쓰기가 되어 있습니다.

if x >= 10:
    print('10 이상입니다.')
 
    if x == 15:                 # ← 들여쓰기된 if
        print('15입니다.')  # ← 
                             # ← if x >= 10:에 속한 코드
    if x == 20:              # ← 
        print('20입니다.')  # ←  

이렇게 들여쓰기가 된 if x == 15:if x == 20:은 처음에 나온 if x >= 10:에 속한 코드입니다. 즉, if x >= 10:의 조건식이 만족해야만 실행되는 코드죠.

다시 안쪽의 if에 속한 print는 들여쓰기를 한 번 더 해줍니다.

if x >= 10:
    print('10 이상입니다.')
 
    if x == 15:
        print('15입니다.')
        # ↑ if x == 15:에 속한 코드 
 
    if x == 20:
        print('20입니다.')
        # ↑ if x == 20:에 속한 코드 

즉, if에서 실행할 코드는 현재 상태에서 들여쓰기를 한 번 더 해줍니다. 간단한 규칙이죠?