2021. 7. 8. 22:39ㆍ강의 내용 정리/웹파이썬 프로그래밍
지난 학습 복습: Boolean(문자열)
- 논리 연산자는 and, or, not이 있다.
- 비교 연산자는 >, >=, <, <=, ==, !=이 있다.
- and와 or 조건문을 사용할 때는 왼쪽부터 탐색한다.
- 빈 문자열('', "")은 false이고 그 외의 문자열는 모두 true이다.
- 0과 0.0은 false이고 그 외의 숫자는 모두 true이다.
- 각각의 문자를 숫자로 변환하여 저장하기 때문에 문자열간의 대소관계가 존재할 수 있다
# 문자열의 대소관계
a < b # >>> True
A < a # >>> True
ab < abc # >>> True
abc < abd # >>> True
가 < 나 # >>> True
1. 조건문(Conditional Statement)
- if, elif, else를 사용해 조건문을 표현한다.
* if: 가장 최우선으로 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다.
* elif: 위의 if문이 false일 때 검토하는 조건이다. 해당 조건이 true면 해당 조건문의 block이 실행된다.
* else: 모든 if문이 false 일 때 실행하는 조건문이다. 별다른 조건이 들어가지 않고, 위의 모든 조건이 false일 때 block이 실행된다.
1-1. 조건
- 보통 boolean expression으로 조건을 걸어넣는다.
- True 값이나 False 값을 가지는 값들로 채운다.
1-2. block
- 조건문이 true일 때, block 안에 있는 문장이 실행된다.
- 파이썬에서는 인덴트(띄어쓰기 네 칸)을 통해 block을 나타낸다.
# if
# if <condition>: ## if 이후에 조건을 걸어넣은 뒤, 콜론(:)을 쓴다.
# <block> ## block은 띄어쓰기 네칸을 해주어 표현한다.
# example
ph = float(input())
if ph < 7.0:
print(ph, 'is acidic.') # 가장 먼저 ph가 7.0 이상인지 확인한다.
elif ph > 7.0:
print(ph, 'is basic.') # 그 이후 ph가 7.0 이하인지 확인한다.
1-3. 조건문의 flow chart
- 동일한 변수에 대해 배타적인 특징을 가지는 조건을 비교할 때, if문을 두번 쓰면 다음과 같은 동작을 하게된다.
# 코드
ph = float(input())
if ph < 7.0:
print(ph, 'is acidic.') # 가장 먼저 ph가 7.0 이상인지 확인한다.
if ph > 7.0:
print(ph, 'is basic.') # 그 이후 ph가 7.0 이하인지 확인한다.
- 위의 방법은 ph가 0.7보다 크거나 낮은 경우 (7.0이 없다는 전제하에) 두 가지 경우밖에 없으므로 if를 두번 사용하게 될 경우 다소 불필요한 동작을 하게된다. 따라서 다음과 같은 경우에 elif를 사용해준다.
# 코드
ph = float(input())
if ph < 7.0:
print(ph, 'is acidic.') # 가장 먼저 ph가 7.0 이상인지 확인한다.
elif ph > 7.0:
print(ph, 'is basic.') # 그 이후 ph가 7.0 이하인지 확인한다.
- 보는 것과 같이 앞에서 ph > 7.0 일 때 조건문을 한번만 동작해도 되기 때문에 더 효율적인 코드라고 할 수 있다.
- 또한 현업에서 else문은 대부분 잘못된 입력이나 에러가 발생했을 때에 대한 처리하는 데 사용하는 경우가 많다. 따라서 예외 처리를 다음과 같이 해줄 수 있다.
# 예외 사항 처리
ph = float(input())
if ph < 7.0:
print(ph, 'is acidic.') # 가장 먼저 ph가 7.0 이상인지 확인한다.
elif ph > 7.0:
print(ph, 'is basic.') # 그 이후 ph가 7.0 이하인지 확인한다.
else: # 예외처리
print('ph가 7.0입니다. 다시 입력해주세요.')
'강의 내용 정리 > 웹파이썬 프로그래밍' 카테고리의 다른 글
웹파이썬 프로그래밍 - 모듈(Module) (0) | 2021.07.21 |
---|---|
웹파이썬 프로그래밍 - Boolean (0) | 2021.07.06 |
웹파이썬 프로그래밍 - String(문자열) (0) | 2021.06.29 |
웹파이썬 프로그래밍 - Function(함수) 2/2 (0) | 2021.06.24 |
웹파이썬 프로그래밍 - Function(함수) 1/2 (0) | 2021.06.19 |