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에서 실행할 코드는 현재 상태에서 들여쓰기를 한 번 더 해줍니다. 간단한 규칙이죠?