money = True
if money:
print("택시를")
print("타고")
print("가라")
이렇게 들여쓰기가 틀리면 에러가 뜸
파이썬 들여쓰기가 강제되는 언어임
money = True
if money:
print("택시를")
print("타고")
print("가라")
이렇게 하면
택시를
타고
가라
이렇게 출력 됨
money = True
if money:
print("택시를")
print("타고")
print("가라")
이렇게 해도 그대로 출력되나 의미가 달라짐
택시를 은 true false에 따라 출력되고 안되고 하지만
밑에는 true false 여부와 상관없이 쭉 실행되는 일반적인 코드흐름이 된다
False로 바꾸게 되면 타고, 가라만 출력됨
True false랑 관계없는 그냥 print문이라서
항상 들여쓰기, 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보다 작거나 같다.
>>> x = 3
>>> y = 2
>>> x > y
True
>>>
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("걸어가라")
...
"택시를 타고 가라" 가 출력 and면 두개 조건다 만족해야 출력
하나라도 거짓이 나오면 "걸어가라" 출력
in, not in
in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열
>>> 1 in [1, 2, 3]
True
>>> 1 not in [1, 2, 3]
False
튜플, 문자열도 가능하다
>>> 'a' in ('a', 'b', 'c')
True
>>> 'j' not in 'python'
True
공백도 반영된다 함 공백 'p ' 이렇게 하면 false가 뜸
조건문에서 아무 일도 하지 않게 설정하고 싶다면?
이럴 때 사용하는 것이 바로 pass이다.
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:
... pass
... else:
... print("카드를 꺼내라")
...
아무것도 안쓰면 오류가 뜸
다양한 조건을 판단하는 elif
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
... print("택시를 타고가라")
... else:
... if card:
... print("택시를 타고가라")
... else:
... print("걸어가라")
...
택시를 타고가라
>>>
이렇게 하면 많이 혼잡할수 있는데 이래서 쓰는게 elif
>>> pocket = ['paper', 'cellphone']
>>> card = True
>>> if 'money' in pocket:
... print("택시를 타고가라")
... elif card:
... print("택시를 타고가라")
... else:
... print("걸어가라")
...
택시를 타고가라
if 조건문:
수행할_문장1
수행할_문장2
...
elif 조건문:
수행할_문장1
수행할_문장2
...
elif 조건문:
수행할_문장1
수행할_문장2
...
...
else:
수행할_문장1
수행할_문장2
...
보다시피 elif는 무한으로 쓸수있다.
if 문을 한 줄로 작성하기
>>> if 'money' in pocket:
... pass
... else:
... print("카드를 꺼내라")
...
이 코드문은 보다시피 한줄 거리다
이럴때 수행할 문장이 적으면 좀더 간략하게 쓰는 방법이 있다.
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket: pass
... else: print("카드를 꺼내라")
...
하지만 보통 한줄로 쓰면 구분이 어려움 두줄로 쓰는게 일반적이라 함
기능적으로 같은데 패션코딩 같은거라 함
조건부 표현식
score = 100
if score >= 60:
message = "success"
else:
message = "failure"
print(message)
줄이면 이렇게 된다.
score = 100
message = "success" if score >= 60 else "failure"
print(message)
일단 참일떄 실행할거를 먼저쓴다.
그 다음에 조건을 쓴다.
참 조건 거짓 이렇게 됨
패션코딩이다.
굳이 이렇게 안해도 된다.