>Unit. 08 비교, 논리 연산자<
파이썬에서 참(True)과 거짓(False)은 불(boolean)이라고 한다.
이 두 값의 관계를 판단할 때는 비교 연산자를 사용하며 두 값의 논릿값을 판단할 때는 논리 연산자를 사용한다.
-비교 연산자
두 숫자가 같은지, 두 문자열이 같은지 비교할 때 사용하는 것을 비교 연산자라고 한다.
비교 연산자에는 ==(equal), !=(not equal), >(초과), <(미만), >=(이상), <=(이하) 등이 있다.
>>> 5 == 5
True
>>> 1 != 5
True
>>> 'python' == 'python'
True
>>> 1 > 5
False
값을 비교하는 것 뿐 만 아니라 객체(object)도 비교할 수 있다. 객체가 같은지 다른지 비교할 때는 is, is not을 사용한다.
is는 같다, is not은 다르다를 의미한다.
>>> 1 is 1.0 #객체 비교
Flase
>>> 10 == 10.0 #값 비교
True
- 논리 연산자
논리 연산자에는 and, or, not이 있다.
and는 두 값 모두 True여야만 최종 결과로 True가 된다. 하나라도 False면 최종 결과는 Fasle가 된다.
or는 두 값 중 하나만 True여도 최종 결과로 True가 나오고, 두 값 모두 False여야만 최종 결과로 False가 된다.
not은 논릿값을 뒤집는다. not True는 False가 되고 not False는 True가 된다.
이 때 한 식 안에 and, or, not 모두 있을 때 판단 순서는 not->and->or가 된다.
>>> not True and False or not False
True
위의 코드를 해석하면 not True와 not False를 먼저 판단하여 False and False or True가 된다. 이때 and 먼저 판단하여 Fasle or True가 되면 최종 결과로 True가 되는 것이다.
이를 쉽게 이해하기 위해 괄호를 사용하면 ((not True) and False) or (not False)가 되는 것이다.
논리 연산자와 비교 연산자를 함께 사용할 대는 비교 연산자를 먼저 판단하고 논리 연산자를 판단하게 된다.
>>> 5 == 5 and 5 != 1 #True and True
True
>>> not 5 > 1 #not True
False
>>> not 1 is 1.0 #not False
True
-불(boolean)
정수, 실수, 문자열을 불로 만들 때는 bool()을 사용한다. 이때 정수 0과 실수 0.0은 False, 이외에는 모두 True가 된다.
문자열을 불로 바꾸게 되면 문자열의 내용 자체는 판단하지 않으며 값이 있으면 무조건 True가 된다. 문자열의 내용이 'False'여도 불로 바꾸면 True가 되는 것이다.
>>> bool(0)
Flase
>>> bool(11.2)
True
>>> bool('False')
True
8.5 심사문제 : 합격 여부 출력하기
korean, english, math, science=map(int,input().split())
print(korean>=90 and english>80 and math>85 and science>=80)
https://github.com/YOOHYOJEONG/dojang_python