40 논리 연산 더 알아보기
이번 시간에는 and 연산과 or 연산을 활용한 조건식에 관해 자세히 알아보겠습니다.
시작하기 전에 파일 이름을 logic.py로 저장합니다. 다음과 같이 복잡한 식이 있습니다. 식을 실행하기 전에 실행 결과를 예상해 볼까요?
코드 logic.py
a = 10 if a < 0 and 2 ** a > 1000 and a % 5 == 2 and round(a) == a: print("복잡한 식")
모든 조건을 풀려고 하면 어렵지만, 생각을 바꾸면 쉽게 풀 수도 있습니다. 왜냐하면 and는 주어진 값이 모두 True(참)여야 하는 연산입니다. 맨 앞에 있는 식 a < 0면 False(거짓)이므로 뒷부분은 볼 것도 없습니다. 좌우가 모두 True여야 하는데 하나라도 False면 전체가 False이기 때문입니다. 이 코드를 실행하면 아무것도 출력되지 않습니다. 논리식이 틀렸으므로 print문이 실행되지 않는 것입니다.
or 연산도 마찬가지입니다. or 연산으로만 이루어진 식은 하나만 True면 전체가 True입니다. 즉, 다음 두 가지 사실을 안다면 복잡한 조건식도 금방 읽을 수 있습니다.
● and 연산 : 하나만 False여도 전체가 False
● or 연산 : 하나만 True여도 전체가 True