if문을 쓰는이유?
프로그래밍도 사람이 하는 것이므로 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우가 생긴다.
이렇듯 프로그래밍에서 조건을 판단하여 해당 조건에 맞는 상황을 수행하는데 쓰는 것이 바로 if문이다.
(아래 예문을 보자)
"돈이 있으면 택시를 타고, 돈이 없으면 걸어 간다." (조건 판단 후 상황에 맞게 처리해야 함.)
money = True
if money:
... print("택시를 타고 가라")
...else:
... print("걸어 가라")
...
택시를 타고 가라
들여쓰기 와 콜론 사용해야 오류가 없다.
money = True
if money:
print("택시를")
print("타고")
print("가라")
택시를
타고
가라
spacebar 4번 , : (콜론)
- 비교 연산자
x=3
y=2
x>y
True
ex)
" 만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 그렇지 않으면 걸어 가라. "
money = 2000
if money >= 3000:
print("택시를 타고 가라")
else:
print("걸어 가라")
걸어 가라
money >=3000 조건문이 거짓이 되기 때문에 else문 다음 문장을 수행하게 된다.
- and, or, not
조건을 판단하기 위해 사용하는 다른 연산자로는 and, or, not이 있다. 각각의 연산자는 다음처럼 동작한다.
ex)
" 돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 그렇지 않으면 걸어 가라. "
money=2000
card=True
if money >= 3000 or card:
print("택시를 타고 가라")
else:
print("걸어 가라")
택시를 타고 가라
- x in s, x not in s
1 in [1,2,3]
True
1 not in [1,2,3]
False
~in 의 뜻이 '~안에'라는 것을 생각하면 쉽게 이해 된다.
ex) 튜플과 문자열에 적용한 예
'a' in ('a','b','c')
True
'j' not in 'python'
True
ex) 계속 사용해 온 택시 예제에 in을 적용해 보자
"만약 주머니에 돈이 있으면 택시를 타고, 없으면 걸어가라."
poket = ['paper','cellphone','money']
if 'money' in poket:
print("택시를 타고 가라")
else:
print("걸어 가라")
택시를 타고 가라
-다양한 조건을 판단하는 elif
"주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어 가라."
ex) if와 else로만 표현하기. [ 복잡하다..] 그렇기에 elif를 씀.
poket=['paper','cellphone'] 주머니 안에 종이, 휴대전화가 있다.
card = True 카드를 가지고 있다.
if 'money' in poket:
print("택시를 타고 가라")
else:
if card:
print("택시를 타고 가라")
else:
print("걸어 가라")
택시를 타고 가라
ex) elif를 사용
poket=['paper','cellphone']
card = True
if 'money' in poket: 주머니에 돈이 있으면
print("택시를 타고 가라")
else:
if card: 주머니에 돈이 없고 카드가 있으면
print("택시를 타고 가라")
else: 주머니에 돈도 없고 카드도 없으면
print("걸어 가라")
택시를 타고 가라
즉 elif는 이전 조건문이 거짓일 때 수행된다.
- 조건부 표현식
if score >= 60:
message = "success"
else:
massage = "failure"
주건부 표현식을 사용하면 아래와 같이 간단해진다.
message = "success" if score >= 60 else "failure"
조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋다.
출처: "점프 투 파이썬"
'파이썬 기초' 카테고리의 다른 글
03-3 for문 (0) | 2021.03.14 |
---|---|
03-2 while문 (0) | 2021.03.14 |
02-8 자료형의 값을 저장하는 공간, 변수 (0) | 2021.03.13 |
02-7 불 자료형 (0) | 2021.03.13 |
02-6 집합 자료형 (0) | 2021.03.13 |