파이썬 if~elif~else문 문법 정리
안녕하세요. 이번 글에서는 파이썬에서 사용되는 조건문인 if문에 대하여
if elif else 간의 용법 차이와 실행할 코드가 한 줄일 때,
그리고 여러 개의 조건이 중첩된 케이스의 예제를 중심으로
사용되는 경우의 수를 총망라해보도록 하겠습니다.
파이썬 if문 기본 사용법
파이썬의 if문은 if 조건 :(콜론)의 세트로 사용하는 것이 기본적인 용법입니다.
콜론이 생략되면 오류가 발생하며, if 문 내부에서 실행될 코드 부분은 들여쓰기로 구분합니다.
### 조건이 만족되는 경우 ###
a = 6
if a > 5:
print('a가 5보다 큽니다!')
print('안녕하세요!')
print('hello!')
# 출력 결과
a가 5보다 큽니다!
안녕하세요!
hello!
### 조건이 만족되지 않는 경우 ###
a = 4
if a > 5:
print('a가 5보다 큽니다!')
print('안녕하세요!')
print('hello!')
# 출력 결과
hello!
if문 외부의 hello!가 출력되는 부분은 조건에 상관없이 출력되고 있는 점을 참고하세요.
if elif else 의미 차이, 사용법
elif와 else는 기본적으로 생략이 가능합니다.
다만, 이 둘은 위의 조건이 만족되지 않는 경우에 다음에 체크할 조건 부분을 분기할 수 있습니다.
아래는 가장 위의 if문을 만족하지 않아 아래의 elif문이 실행되는 예시입니다.
a = 6
if a > 10:
print('a가 10보다 큽니다!')
elif a > 5:
print('a가 10보다는 안커도 5보다는 큽니다!')
else:
print('a가 5보다 크지 않습니다!')
# 출력 결과
a가 10보다는 안커도 5보다는 큽니다!
만일, a가 10보다 큰 값이 주어지면, 가장 위의 if에서 조건을 만족하므로
해당 조건문의 아래 elif, else 문은 조건도 검사하지 않으며, 실행되지 않습니다.
a = 11
if a > 10:
print('a가 10보다 큽니다!')
elif a > 5:
print('a가 10보다는 안커도 5보다는 큽니다!')
else:
print('a가 5보다 크지 않습니다!')
# 출력 결과
a가 10보다 큽니다!
참고로, 여러 개의 elif를 사용하는 것은 얼마든지 가능하며,
가장 위의 조건부터 순차적으로 검사합니다.
a = 4
if a > 10:
print('a가 10보다 큽니다!')
elif a > 5:
print('a가 5보다는 큽니다!')
elif a > 3:
print('a가 3보다는 큽니다!')
elif a > 0:
print('a가 0보다는 큽니다!')
else:
print('a가 0보다 크지 않습니다!')
# 출력 결과
a가 3보다는 큽니다!
else 내의 구문은 위의 if 혹은 elif에 있는 조건들을 모두 만족하지 않을 때 실행됩니다.
a = -1
if a > 10:
print('a가 10보다 큽니다!')
elif a > 5:
print('a가 5보다는 큽니다!')
elif a > 3:
print('a가 3보다는 큽니다!')
elif a > 0:
print('a가 0보다는 큽니다!')
else:
print('a가 0보다 크지 않습니다!')
# 출력 결과
a가 0보다 크지 않습니다!
if ~ if와 if ~ elif 차이
간혹, if ~ if 문과 if ~ elif 문의 차이를 궁금해하시는 경우가 있습니다.
if ~ if문의 경우 항상 두 if문의 조건을 모두 체크하는 반면,
if ~ elif 문의 경우 앞의 if문이 만족되면 뒤의 elif 문 조건은 체크하지 않습니다.
### if ~ if 문 ###
a = 4
if a > 3:
print('a가 3보다 큽니다!')
if a > 0:
print('a가 0보다 큽니다!')
# 출력 결과
a가 3보다 큽니다!
a가 0보다 큽니다!
### if ~ elif 문 ###
a = 4
if a > 3:
print('a가 3보다 큽니다!')
elif a > 0:
print('a가 0보다 큽니다!')
# 출력 결과
a가 3보다 큽니다!
a가 0보다 큽니다!의 두 번째 조건 출력 부분은 if ~ elif에서는 실행되지 않았습니다.
조건문에서 실행될 코드 부분이 한 줄인 경우
if, elif 혹은 else문에서 실행될 코드가 1줄인 경우에는
특별히 들여쓰기 없이 바로 사용되는 것이 가능합니다.
다만, 이 경우에도 if 문 뒤에 오는 :(콜론)은 생략할 수 없습니다.
a = 5
if a > 10: print('a가 10보다 큽니다!')
elif a > 3: print('a가 3보다 큽니다!')
else: print('a가 3보다 크지 않습니다!')
# 출력 결과
a가 3보다 큽니다!
조건 여러 개가 중첩된 경우(if문 내에 if문)
여러 개의 조건이 중첩된 경우에도 추가 들여쓰기로 구분하여 if문 내에 다른 if문을
넣어 구문을 작성하는 것도 가능합니다.
a = 6
if a > 5:
if a % 2 == 0:
print('a는 5보다 큰 짝수입니다!')
else:
print('a는 5보다 큰 홀수입니다!')
else:
print('a는 5보다 크지 않습니다!')
# 출력 결과
a는 5보다 큰 짝수입니다!
첫 조건인 a > 5를 만족하여 아래의 a % 2 == 0 조건을 체크하게 되었습니다.
두 번째 if 문 내에서 실행될 코드는 들여쓰기가 두 번 들어간 점에 주목해주세요.
마찬가지의 원리로 if문 내 실행 부분에서 for문 등의 반복문을 실행하는 것도 가능합니다.
a = 6
if a > 5:
for i in range(3):
print('a는 5보다 큽니다!')
# 출력 결과
a는 5보다 큽니다!
a는 5보다 큽니다!
a는 5보다 큽니다!
'Python > 파이썬 기초' 카테고리의 다른 글
파이썬 별찍기 간결 코딩 예제 : 피라미드, 역삼각형, 다이아몬드, 모래시계 (0) | 2022.03.29 |
---|---|
파이썬에서 파이(원주율, pi)를 나타내는 방법 : math.pi, np.pi, scipy.pi (0) | 2022.03.25 |
파이썬에서 제곱, 제곱근을 나타내는 방법 정리(**, math, numpy 이용) (2) | 2022.03.24 |