
import operator
num1 = 8
num2 = 3
print('{} + {} : {}'.format(num1, num2, operator.add(num1, num2)))
print('{} - {} : {}'.format(num1, num2, operator.sub(num1, num2)))
print('{} * {} : {}'.format(num1, num2, operator.mul(num1, num2)))
print('{} / {} : {}'.format(num1, num2, operator.truediv(num1, num2)))
print('{} % {} : {}'.format(num1, num2, operator.mod(num1, num2)))
print('{} // {} : {}'.format(num1, num2, operator.floordiv(num1, num2)))
print('{} ** {} : {}'.format(num1, num2, operator.pow(num1, num2)))
8 + 3 : 11
8 - 3 : 5
8 * 3 : 24
8 / 3 : 2.6666666666666665
8 % 3 : 2
8 // 3 : 2
8 ** 3 : 512
2) 비교 연산자 모듈

import operator
num1 = 8
num2 = 3
print('{} == {} : {}'.format(num1, num2, operator.eq(num1, num2)))
print('{} != {} : {}'.format(num1, num2, operator.ne(num1, num2)))
print('{} > {} : {}'.format(num1, num2, operator.gt(num1, num2)))
print('{} >= {} : {}'.format(num1, num2, operator.ge(num1, num2)))
print('{} < {} : {}'.format(num1, num2, operator.lt(num1, num2)))
print('{} <= {} : {}'.format(num1, num2, operator.le(num1, num2)))
8 == 3 : False
8 != 3 : True
8 > 3 : True
8 >= 3 : True
8 < 3 : False
8 <= 3 : False
3) 논리 연산자 모듈

import operator
flag1 = True
flag2 = False
print('{} and {} : {}'.format(flag1, flag2, operator.and_(flag1, flag2)))
print('{} or {} : {}'.format(flag1, flag2, operator.or_(flag1, flag2)))
print('not {} : {}'.format(flag1, operator.not_(flag1)))
True and False : False
True or False : True
not True : False
'백신 접종 대상자는 20세 미만 또는 65세 이상자에 한합니다.'를 논리 연산자를 이용해서 코딩해보자.
import operator
age = int(input('나이: '))
# vaccine = (age < 20) or (age >= 65)
vaccine = operator.or_(operator.lt(age, 20),operator.ge(age, 65))
print('나이: {}, 접종 가능 여부: {}'.format(age, vaccine))
나이: 29
나이: 29, 접종 가능 여부: False
나이: 19
나이: 19, 접종 가능 여부: True
예제 2) random과 operator 모듈을 사용해서 10부터 100 사이의 난수 중 십의자리와 일의 자리가 각각 3의 배수인지 판단하는 코드를 작성해보자.
import random
rInt = random.randint(10, 100) # 10부터 100까지 중 난수 추출
num10 = operator.floordiv(rInt, 10) # 10의 자리 수
num1 = operator.mod(rInt, 10) # 1의 자리 수
print('난수: {}'.format(rInt))
print('십의 자리: {}'.format(num10))
print('일의 자리: {}'.format(num1))
print('십의 자리는 3의 배수이다: {}'.format(operator.mod(num10, 3) == 0)) #num10을 3으로 나누었을 때 나머지가 0이다 = 3의 배수
print('일의 자리는 3의 배수이다: {}'.format(operator.mod(num1, 3) == 0)) #num1을 3으로 나누었을 때 나머지가 0이다 = 3의 배수
난수: 67
십의 자리: 6
일의 자리: 7
십의 자리는 3의 배수이다: True
일의 자리는 3의 배수이다: False