조건식 :
으로 코드와 구별
코드는 들여쓰기 깊이가 같아야 한다.
pass로 코드 생략하기 (TODO 주석)
# 조건문을 그냥 넘어가기 -> 아무것도 적지 않으면 에러가 난다.
>>> x = 10
>>> if x == 10:
... pass # TODO: x가 10일 때 처리가 필요함
...
>>>
# 코드가 어디에 속해있는지 들여쓰기로 표현한다.
x = 15
if x >= 10:
print('10 이상입니다.')
if x == 15:
print('15입니다.')
if x == 20:
print('20입니다.')
x = int(input()) # 입력받은 값을 변수에 저장
if x == 10: # x가 10이면
print('10입니다.') # '10입니다.'를 출력
if x == 20: # x가 20이면
print('20입니다.') # '20입니다.'를 출력
# 가격(정수)와 쿠폰 이름을 입력 받는다.
p = int(input())
c = input()
# 입력 27000
# 입력 Cash3000
if c == 'Cash3000':
p -= 3000
if c == 'Cash5000':
p -= 5000
print(p)
# 결과 24000
else
는 단독으로 사용할 수 없다.
else
뒤에도 :(콜론)
으로 코드를 구별한다.
변수 = 값 if 조건문 else 값
# 조건에 따라 y에 값을 할당하는 방법
>>> x = 5
>>> if x == 10:
... y = x
... else:
... y = 0
...
>>> y
0
# 축약해서 표현하기
# 변수 = 값 if 조건문 else 값
>>> x = 5
>>> y = x if x == 10 else 0
>>> y
0
# 람다 표현식에서 자주 사용한다.
None
(아무것도 없다는 뜻)False
(거짓)- 0 인 숫자들: 0, 0.0, 0j
- 비어 있는 문자열, 리스트, 튜플, 딕셔너리, 세트
''
,""
,[]
,()
,{}
,set()
- 클래스 인스턴스의
__bool__()
,__len__()
메서드가0
또는False
를 반환할 때
- 다른 값들은 모두 True로 취급한다.
not 0
,not None
,not ''
은True
가 된다.- 내용이 있는 문자열, 리스트, 튜플, 딕셔너리, 세트
and
, or
# 두가지 조건을 모두 만족해야할때
x = 10
y = 20
if x == 10 and y == 20: # x가 10이면서 y가 20일 때
print('참')
else:
print('거짓')
# 중첩 if문으로 하면
if x > 0:
if x < 20:
print('20보다 작은 양수입니다.')
# and 논리연산자를 사용
if x > 0 and x < 20:
print('20보다 작은 양수입니다.')
# 부등호를 사용
if 0 < x < 20:
print('20보다 작은 양수입니다.')
평균 80 이상이면 합격, 이하는 불합격, 점수 범위가 아니면 잘못된 점수라고 출력하기
잘못된 값에 대한 처리는 꼭 해주는 것이 좋다.
# 네 과목의 점수를 입력 받는다.
a, b, c, d = map(int, input().split())
if 0<= a <= 100 and 0<= b <= 100 and 0<= c <= 100 and 0<= d <= 100:
if (a+b+c+d)/4 >= 80:
print('합격')
else:
print('불합격')
else:
print('잘못된 점수')
elif
사용해 여러 방향으로 나누기조건식을 여러개 지정하여 각 조건마다 다른 코드를 실행한다.
elif
는 여러번 쓸 수 있지만 if
와 else
는 한번만 사용 가능
# 번호에 따라 음료 출력하기
button = int(input())
if button == 1:
print('콜라')
elif button == 2:
print('사이다')
elif button == 3:
print('환타')
else:
print('제공하지 않는 메뉴')
age = int(input())
balance = 9000
if 7 <= age <= 12:
balance -= 650
elif 13 <= age <= 18:
balance -= 1050
elif age <= 19:
balance -= 1250
print(balance)