파이썬/파이썬(python) 초급

[3-5 파이썬] 논리 연산자(logical operators), and, or, not, 실습예제

Olivia-BlackCherry 2022. 8. 8. 12:50

논리 연산자 Logical Operators

1. A or B

- 가장 최소 조건을 만족하면 된다.

- A나 B 두 가지 조건 중 하나만 참인 경우, 둘 다 참인 경우

True 참이다.

-A나 B 두 가지 조건 중 둘 다 거짓인 경우

False 참이다.

 

 

2. C and D

- 최대 조건을 만족해야 한다.

- C와 D 모두 참인 경우

True 참이다.

- C와 D 하나라도 거짓인 경우

False 거짓이다.

 

 

3. Not E

조건에 반대되는 결과를 만든다. 

E가 True이면 Not E는 False

E가 False이면 Not E는 True

 

예제를 보기 앞서

두 사람의 이름을 넣으면, 궁합 점수를 계산해주는 계산기를 만들어보겠다.

첫 번째로 input()함수로 나의 이름과 애인의 입력값을 받는다.

여기서 주의할 점은, 그 입력값의 type이 string이라는 점이다.

두 이름을 합쳐서 our_name이라는 변수에 저장한다.

"Olivia" + "Tony" = "OliviaTony"

 

그다음 lower()함수를 적용하여 입력값을 소문자로 변환한다. 

"OliviaTony".lower() -> "oliviatony"

 

그다음 count()함수를 적용하여 숫자를 센다. 

"oliviatony".count("t")

"oliviatony".count("r")

"oliviatony".count("u")

"oliviatony".count("e")

로 t,r,u,e 알파벳이 얼마나 포함되어 있는지 수를 세어 true_total 변수에 넣는다.

그다음 count()함수로 l,o,v,e 알파벳이 얼마나 포함되어 있는지 수를 세어 love_total 변수에 넣는다.

 

이번에는

각각 total_true와 total_love 변수 값을 각각 십의 자리, 일의 자리 값으로 사용하려고 한다.

ex) 

true_total =5

love_total = 2

라면 

love = 52 가 된다.

 

여기서 주의할 점은

count()함수를 통해 나온 값의 type은 int형이라는 것이다. 

두 숫자를 문자열처럼 더해주려면 type을 변환한다. 

true_total = 5

str(true_total) = "5"

 

자, 이제 1차적으로 사랑 계산기 만들기는 끝났다.


 

지금부터는 and, or 논리연산자를 이용해 print()문장을 만들어보자.

출력값은 아래와 같다.

or은 하나 이상만 참이면 되고,and는 모든 조건이 참이어야 한다.