논리 연산자(Logical Operator)에는 AND, OR, NOT이 있고, 각각의 진리표(Truth Table)은 다음과 같다.
AND

input 2개가 모두 boolean값이 True인 경우에만 결과값으로 True를 반환하고, 나머지는 모두 False를 반환한다.
이러한 논리연산을 AND 연산(boolean AND)이라고도 부르고, · 으로 표시하거나 생략하며, 집합 기호 ∩(교집합, intersection)로 표시하기도 한다.
a = True
b = False
c = 11 # 0이 아니므로 True
print(a and b)
print(bool(a and c))
출력
False
True
OR

input 2개가 모두 모두 boolean값이 False인 경우에만 결과값으로 False를 반환하고, 나머지는 모두 True를 반환한다.
이러한 논리연산을 OR 연산(boolean OR)이라고도 부르고, + 로 표시하거나, 집합 기호 ∪(합집합, union)로 표시하기도 한다.
a = True
b = False
c = 11 # True
d = 0 # False
print(a or b)
print(bool(a or c))
print(bool(b or d))
출력
True
True
False
NOT
| A | A' |
| False | True |
| True | False |
input 1개가 False면 결과값으로 True를 반환하고, True이면 결과 값으로 False를 반환한다.
a = True
b = False
print(not(a))
print(not(b))
출력
False
True
XOR(배타적 논리합)

참 거짓이 서로 다를 때에만 True 로 계산하는 논리연산을 XOR(exclusive or, 배타적 논리합) 연산이라고도 부른다.
# 참 거짓이 서로 다를 때
c = bool(0)
d = bool(1)
print((c and (not d)) or ((not c) and d)) # True 출력
# 둘 다 참일 때
c = bool(1)
d = bool(1)
print((c and (not d)) or ((not c) and d)) # False 출력
출처:
codeup.kr/problem.php?id=6056
https://wikidocs.net/96000
'Study > Python' 카테고리의 다른 글
| [python] numpy 소수점 올림, 내림, 버림 (0) | 2023.05.23 |
|---|---|
| [Matplotlib] python matplotlib 한글 깨짐 해결하기 (0) | 2023.03.26 |
| [python] 비교/관계 연산자 (0) | 2023.03.22 |
| [python] 비트 시프트 연산 (<<, >>) (0) | 2023.03.21 |
| [python] 파이썬 소수점 자리(round,format,f-string,'%.nf') (0) | 2023.03.21 |