[Python] 파이썬, If~else 조건문 설명 (조건부 포함식 포함)
- Language/Python
- 2021. 1. 10.
프로그램은 2가지만 잘해도 왠만한 것들은 다 만들 수 있다. 첫째 반복문, 둘째 조건문이다. 반복문은 for문과 while문이며 이는 이전 포스팅에서 설명을 했으니 이제 조건문에 대해서 알아보도록 한다.
조건문이란 어떤 조건을 생성하고 해당 조건이 맞으면 수행하는 문을 말하며 파이썬에서는 if 조건문이 있다. for문, while문과 if 조건문은 모두 제어문에 속하며 제어문은 프로그램의 실행 순서등을 제어하거나 특정 조건일 때 수행할 수 있게 하는 것을 말한다.
사용법
if 조건:
실행문
elif 조건:
실행문
elif 조건:
실행문
...
else:
실행문
사실 조건문은 if만 있는 것이 아니다. while 문에서도 true일 때 loop를 실행하게 되는데 while에서 사용하는 조건과 if에서 사용하는 조건은 동일하다.
if 조건문은 총 3가지 형태로 구성되어 있는데 if 조건 (제일 처음 실행되는 꼭대기 조건) 그리고 else 조건(제일 마지막에 실행되는 꼬리 조건) 마지막으로 몸통에 속한 조건들인 elif 조건이다.
연산자 종류
if 안에 들어가는 조건은 비교연산자와 논리 연산자로 구성되어 있으며 아래의 표를 참고하도록 한다.
비교연산자
비교연산자 | 설명 |
x < y | x가 y보다 작다 |
x <= y | x가 y보다 작거나 같다 |
x > y | x가 y보다 크다 |
x >= y | x가 y보다 크거나 같다 |
x == y | x와 y는 같다 |
x != y | x와 y는 같지 않다 |
논리연산자
논리연산자 | 설명 |
x and y | x와 y 모두 참이어야 한다 |
x or y | x가 참이거나 y가 참일 경우 참이다 |
not x | x가 아니어야 참이다 |
예제 1
math = 80
if math >= 90:
print ('A등급입니다')
elif math >= 80:
print ('B등급입니다')
elif math >= 70:
print ('C등급입니다.')
else:
print ('F등급입니다.')
# B등급입니다.
위 예제를 보면, math 변수에 80점을 입력하였고, if 조건은 각각 90점이상, 80 ~ 90점 사이, 70~80점 사이 그리고 나머지 점수 형태로 구성이 되어 있다. 첫번째 elif가 80점 이상인데 왜 80 ~ 90점 사이냐라고 물을 수 있는데 if조건은 위에서부터 순서대로 실행이 되기 때문에 첫번째 if 조건이 90점 이상일 때 실행이 되기에 두번째 elif는 당연히 90점 미만이 된다.
그리고 위에서 아래로 순서대로 조건이 실행이 될 때 조건이 맞게 되면, 다음 조건은 실행되지 않고 끝나게 된다.
예제 2
math = 90
korean = 40
if math >= 90 and korean >= 90:
print ('A등급입니다')
elif math >= 80 and korean >= 80:
print ('B등급입니다')
elif math >= 70 and korean >= 70:
print ('C등급입니다.')
elif math >= 80 or korean >= 80:
print ('D등급입니다.')
else:
print ('F등급입니다.')
# D등급입니다.
위 예시는 논리연산자를 추가로 넣은 것으로 korean과 math의 점수중 하나가 80점이 넘었기 때문에 가장 마지막 elif의 조건이 참이 되어 'D등급입니다'라는 문자열이 출력이 된다.
예제 3 (리스트 처리)
clss = ['국어','영어','수학']
if '국사' in clss:
print('국사가 포함')
elif '국어' in clss:
print('국어가 포함')
# 국어가 포함
파이썬은 다른 언어와 다르게 리스트를 조건문에 넣어서 처리할 수 있다. 위와 같이 리스트 값에 in을 넣어 해당 값이 있는지를 체크할 수 있다. 값이 없는지를 체크하고 싶을 경우 not in 조건을 넣으면 된다.
예제 4 (조건부 표현식)
clss = ['국어','영어','수학']
result_1 = "영어포함" if '영어' in clss else "영어포함안됨"
result_2 = "사회포함" if '사회' in clss else "사회포함안됨"
print(result_1)
print(result_2)
파이썬은 위 예제처럼 if 조건을 한줄로 표현할 수 있는 방법을 제공한다. 이를 조건부 표현식이라고 하며, 조건 참일 경우 if 앞에 있는 값을 수행하고 아닐 경우 else 이후 값을 수행한다.
연관포스팅
2020/12/19 - [Language/Python] - [Python] 파이썬의 반복문 (while 문)
2020/12/19 - [Language/Python] - [Python] 파이썬의 반복문(for문)
2020/12/13 - [Language/Python] - [Python] 파이썬의 비교 연산자
'Language > Python' 카테고리의 다른 글
[Python] 파이썬, 문자열 포맷팅 하기(format 함수) (0) | 2021.01.17 |
---|---|
[Python] 파이썬, 데이터를 걸러주는 Filter 내장함수 (0) | 2021.01.11 |
[Python] 파이썬 명령 인자값 받는 방법 (sys.argv) (0) | 2021.01.02 |
[Python] 파이썬 문자열 분리(나누기), Split 함수 (0) | 2020.12.29 |
[Python] 파이썬 리스트 문자열 합치기 Join 함수 (0) | 2020.12.28 |