일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ElasticSearch
- 제로베이스pm스쿨
- 조건문
- 셸
- bulk
- 제로베이스부트캠프
- else문
- UNIX
- 파이썬
- elif문
- json
- pm스쿨28기
- 일본어형태소분석기
- 반복문
- python
- while문
- for문
- 학습일지
- 매핑
- 블록구조
- NumPy
- if문
- shell
- kibana
- Sort
- kuromoji
- mapping
- 제로베이스
- Size
- pm
- Today
- Total
code name blue
Python : 블록 구조 - elif문, if문 중첩 본문
elif문
elif문은 if else문을 확장한 형태이다. if else의 선택지가 if와 else의 두 가지 라면, elif 문은 가운데에 elif를 두어 if와 else에 해당하지 않는 다른 여러가지 선택지를 제공해준다.
if 조건1:
명령1
elif 조건2:
명령2
else:
명령3
조건1을 만족하면 명령1을 실행하고 전체 조건문이 완료된다. 조건1이 거짓이라면 조건2로 넘어가 참일 경우 조건2를, 조건1과 2가 모두 거짓이라면 명령3을 실행한다.
num = 55
if num < 21:
print("21보다 작아요")
elif num < 52:
print("52보다 작아요")
else:
print(num, "입니다")
위의 결과는 '55 입니다'로 나온다. num에 지정된 55라는 수가 두 조건을 모두 만족하지 않기 때문이다. 만약 num이 33이라면 두 번째 조건을 만족하여 '52보다 작아요'가 나올 것이다.
elif는 위와 같이 중간에 하나만 들어가지 않고 더 많이 들어 갈 수 있다. 즉, 조건이 많아질수록 그에 해당하는 elif도 늘어난다.
if문 중첩
if문의 조건에는 다양한 명령이 들어갈 수 있다. 주로 예로 보였던 print를 포함하여 다른 변수에 값을 대입할 수도 있고, 함수를 호출할 수도 있다. if문도 하나의 명령이므로 상위의 if문 안에 들어 갈 수 있다. 이처럼 같은 명령끼리 겹치는 것을 중첩(Nesting)이라고 한다.
woman = True
age = 25
if woman == True:
if age >= 19:
print("성인 여자입니다!")
위에서는 먼저 woman이 True인지 점검한 후, 참이면 age가 19 이상인지 점검해본다. if문끼리 중첩하면 두 가지 조건이 모두 참일 때만 print문이 실행된다.
woman = True
age = 25
if woman == True and age>= 19:
print("성인 여자입니다!")
if and문은 두 조건을 한꺼번에 점검하고, if if문은 위에서부터 차례로 점검한다는 점에서 약간 차이가 있지만, 결과는 완전히 똑같이 나타난다. 두 구문 모두 두 가지 조건이 모두 참일 때만 명령을 실행한다.
참조
김상형, <파이썬 정복>, 2018, 한빛미디어
'Programming > Python' 카테고리의 다른 글
파이썬 머신러닝/딥러닝 : numpy - 배열 (0) | 2019.05.21 |
---|---|
Python : 반복문 - while, for (0) | 2019.05.06 |
Python : 블록 구조 - if문, else문 (0) | 2019.04.26 |
Python : 조건문 - if문 (0) | 2019.04.21 |
Python 강좌 및 유용한 사이트 모음 (0) | 2019.04.09 |