파이썬/점프투파이썬

점프투파이썬 : 4일차_if문

TYRREN 2022. 12. 20. 23:38

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    조건문이 거짓인 경우

 

조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋다.