논리 연산자 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는 모든 조건이 참이어야 한다.