#1-20
오늘은 자주 쓰이는 파이썬 조건문을 알아보려합니다.
강의를 듣는데 if, else, elif 차이점에 관해서까지
자세히는 안 나와있어서 결국 구글링했어요.
반복문과 함께 아주 많이 쓰이는 녀석인만큼
확실하게 정리해두려 합니다.
기획에서 플로우차트라는 개념이 있습니다.
동전을 넣으면 음료수가 나오는 자판기.
그냥 작동하는 게 아니라 위의 구조를 거쳐서 나옵니다.
물건이 있는가? yes
동전을 넣는다
물건이 나온다.
이때 물건이 있냐고 물어보는 것을 조건문이라고 합니다.
if 구문의 기본적인 형태는
if False 와 if True입니다.
C언어는 {
} 형태의 구분자가 있는데
파이썬은 그게 없어서,, 그냥 들여쓰기 형태로
함수 안에 있는지 없는지를 판별합니다.
if False:
print("python")
print("done")
여백을 통해서, 안에 들어가 있다는게 보이시죠?
if True일때는 해당 파이썬 조건문 안에 들어있는 걸 출력합니다.
if False는 안에 들어있는 걸 출력하지 않습니다.
쉽게 말해서 True는 출력, False는 출력x 입니다.
그리고 파이썬 if, else, ellif 함수와 같이 쓸 수 있는 녀석들이 있습니다.
우선 int를 살펴볼게요.
int 변수를 0과 1로 각각 정의해주면
굳이 If 옆에 False나 True 따위의 말을 적어주지 않아도 됩니다.
왜냐면 0자체가 false, 1 자체가 true를 뜻하기 때문이죠.
그래서 num=0으로 정의했을 때
if num:
print ("python_1")
이란 의미는 곧 if num이,
if 0이란 소리고
*결국 if false와 똑같다는 소리입니다.
위와 같은 원리로 float은 0.0을 제외한 나머지 실수를 모두 True로 취급합니다.
1.3, 9.101 이런 녀석들 모두 트루로 출력합니다.
bool을 사용하여 어떤 녀석을 false로 보고
어떤 녀석을 true로 보는지 확인할 수 있습니다.
파이썬 조건문의 개념을 대충 알았으니
그렇다면 이제부터 if, ifelse, elif가 어떻게 사용되는지 활용법을 볼게요.
우리가 영어를 배웠을 때 if는 ~한다면? 으로 배웠죠.
'만약 ~한다면 ~일텐데.'
python에서는
이 문장이 무언가를 출력하기 위한 조건이 됩니다.
예시를 들어보죠.
한글 해석본: 돈이 12,000원 있다.
만약 10,000원 이상 있으면 택시를 탈 수 있다.
만약 10,000원 보다 적으면 버스를 탄다.
→ 돈이 12,000원 있으니까 충분히 택시를 탈 수 있습니다!
if문의 경우 여기서, 1번 조건에서 true
2번 조건에서 false 가 됐으니 true인 녀석을 출력합니다.
(조건을 2번 연산하는 거죠)
else는 조금 더 다이렉트입니다.
이 녀석은 쓸데없이 조건을 더 만들지 않습니다.
아니면 아닌 거고, 맞는 건 맞는 겁니다.
노빠꾸여서 맞는 문장만 출력합니다.
모 아니면 도입니다.
9천원 가지고 있으니까,, 택시는 못 타고 그냥 버스 탑니다.
else는 조건 확인해서 true면 걔만 출력하고,
나머지 건 확인도 안합니다.
→ 조건 하나에 맞는 걸 true출력, 그리고 아닌 선택지를 else로 출력합니다.
▶ if, else, elif의 차이점
if, else: 둘 다 정반대되는 조건일 때
elif: 만원 이상인 경우, 5천원 이상인 경우
(대비되는 조건보다 디테일한 조건 쓰고 싶을 때)
→ 조건을 3개 이상 쓸 때, elif로 추가해서 쓴다.
→ elif는 여러 개 쓸 수 있다.
→ elif, else는 단독으로 못 쓰고, 앞에 if가 있어야 된다.
else: if나 elif가 안 먹힐때 마지막으로 씀.
[65]번 줄은 [64]번 줄의 코딩을 다이어트 시켜본 것입니다.
굳이 중복되는 조건이 있었기 때문에 그걸 제외시켜줬습니다.
(앞에 이미 있으니까)
만원 이상이었으면 '택시'가 정답일텐데 아니었으니까
가진 돈은 당연히 만원보다 적은 상태겠져.
그래서 ( < 10000 ) 조건을 빼도 됩니다.
*
그리고 66번 줄은 elif로 조건을 더 늘려본 겁니다.
*
이상 파이썬 조건문 개념인 if, else, elif까지 알아봤습니다.
*본 글은 제가 듣고 있는 인강과 아래 이분 글을 참고하여 작성하였습니다.
https://blockdmask.tistory.com/372
파이썬 Docstring, scope 개념정리 (0) | 2020.07.13 |
---|---|
파이썬 함수 개념과 파라미터, 아규먼트 정리 (0) | 2020.07.11 |
파이썬 딕셔너리(dict) 메뉴얼: list, key, zip 활용 (0) | 2020.07.11 |
파이썬 리스트 컴프리헨션(List Comprehension) 메뉴얼 (0) | 2020.07.10 |
파이썬 while 반복문 개념정의와 예제풀이 (0) | 2020.07.02 |
댓글 영역