점프투파이썬 : 4일차_if문
03장 제어문
03-1 if 문
if 조건문 :
수행할 문장1
수행할 문장2
...
else :
수행할 문장A
수행할 문장B
...
반드시 들여쓰기를 해줘야 한다.
들여쓰기는 반드시 같은 너비로 해야 한다.
들여쓰기 = Tab 키 or Spacebar 4번
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보다 작거나 같다 |
비교 연산자를 사용하면 반드시 True, False 값이 출력된다.
>>> x = 3
>>> y = 2
>>> x>y
True
>>> x<y
False
"만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 그렇지 않으면 걸어 가라"
>>> money = 2000
>>> if money >= 3000 :
... print("택시를 타고 가라")
... else :
... print("걸어가라")
...
걸어가라
<and, or, not>
연산자 | 설명 |
x or y | x와 y 둘 중 하나만 참이어도 참이다 |
x and y | x와 y 모두 참이어야 참이다 |
not x | x가 거짓이면 참이다 |
"돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어 가라."
>>> money = 2000
>>> card = True
>>> if money >= 3000 or card :
... print("택시를 타고 가라")
... else :
... print("걸어가라")
...
택시를 타고 가라
<x in s, x not in s>
x in 리스트 | x not in 리스트 |
x in 튜플 | x not in 튜플 |
x in 문자열 | x not in 문자열 |
리스트나 튜플, 문자열에 x가 들어있으면 True, 없으면 False를 출력한다.
>>> 1 in [1,2,3]
True
>>> 1 not in [1,2,3]
False
"만약 주머니에 돈이 있으면 택시를 타고, 없으면 걸어 가라"
>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket :
... print("택시를 타고 가라")
... else :
... print("걸어가라")
...
택시를 타고 가라
가끔 조건문의 참, 거짓에 따라 실행할 행동을 정의할 때, 아무런 일도 하지 않도록 설정하고 싶을 때가 있다.
그 땐 pass를 사용하자.
"주머니에 돈이 있으면 가만히 있고, 주머니에 돈이 없으면 카드를 꺼내라."
>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket :
... pass
... else :
... print("카드를 꺼내라")
...
이와 같은 문장을 다음과 같이 줄일 수 있다.
>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket : pass
... else : print("카드를 꺼내라")
...
<elif : 다양한 조건을 판단하기>
"주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어가라"
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket :
... print("택시를 타고가라")
... elif card :
... print("택시를 타고가라")
... else :
... print("걸어가라")
...
택시를 타고가라
elif 는 개수에 제한 없이 사용할 수 있다.
<조건부 표현식>
if score >= 60
message = "success"
else :
message = "failure"
위와 같은 식을 아래와 같은 식으로 쓸 수 있다.
이를 조건부 표현식이라 한다.
message = "success" if score >= 60 else "failure"
이는 다음과 같다.
조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우
조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋다.