1️⃣ 복합 연산자
num = 10
num += 3
print('num : {}'.format(num))
num = 10
num %= 3
print('num : {}'.format(num))
num = 10
num **= 3
print('num : {}'.forma(num))
rainAmount = 0
rainAvgAmount = 0
totalRainAmount = 0
totalRainAmount += 30
print('1월 누적 강수량: {}mm'.format(totalRainAmount))
(중략)
rainAvgAmount = totalRainAmount / 12
print('-' * 30)
print('연간 누적 강수량: {}'.format(totalRainAmount))
print('연간 평균 강수량: {}'.format(rainAvgAmount))
2️⃣ 비교연산자
1. 숫자 비교
- 모든 비교 연산자의 결과는 bool형으로 나옴*
- 6가지 비교 연산자
- num1 > num2 : True
- num1 >= num2 : True
- num1 < num2 : False
- num1 <= num2 : False
- num1 == num2 : False
- num1 != num2 : True
num1 = 10; num2 = 5
result = num1 > num2
print('num1 > num2: {}'.format(result))
num1 > num2: True
maxLength = 5200
maxWidth = 1985
myCarLength = int(input('전장 길이 입력: '))
myCarWidth = int(input('전폭 길이 입력: '))
print('전장 가능 여부: {}'.format(myCarLength <= maxLength))
print('전폭 가능 여부: {}'.format(myCarWidth <= maxWidth))
2. 문자 비교
- 아스키 코드를 이용한 비교 연산
- 검색창에 '아스키 코드'를 검색하면 나옴
- 십진수에 해당하는 수를 비교
cha1 = 'A'
cha2 = 'S'
print('\'{}\' > \'{}\' : {}'.format(cha1, cha2, (cha1 > cha2)))
'A' > 'S' : False
print('\'A\' -> {}'.format(ord('A')))
print('65 -> {}'.format(chr(65)))
'A' -> 65
's' -> 115
userInputAlphabet = input('알파벳 입력 : ')
print('{} : {}'.format(userInputAlphabet, ord(userInputAlphabet)))
3️⃣ 논리 연산자
- 논리 연산자란, 피연산자의 논리(True, False)를 이용한 연산
- 논리 연산자의 종류: and, or, not
(단, 과목별 점수가 최소 60이상인 경우에 True를 출력한다.)
passScore1 = 60
passScore2 = 70
korResult = korScore >= passScore1
engResult = engScore >= passScore1
matResult = matScore >= passScore1
scoreAvg = (korScore + engScore + matScore) / 3
scoreAvgResult = scoreAvg >= passScore2
subjectResult = korResult and engResult and matResult
korScore = int(input('국어 점수: '))
engScore = int(input('영어 점수: '))
matScore = int(input('수학 점수: '))
print('평균 : {}, 결과 : {}'.format(scoreAvg, scoreAvgResult))
print('국어 : {}, 결과 : {}'.format(korScore, korResult))
print('영어 : {}, 결과 : {}'.format(engScore, engResult))
print('수학 : {}, 결과 : {}'.format(matScore, matResult))
print('과락 결과 : {}'.format(subjectResult))
print('최종 결과 : {}'.format(scoreAvgResult and subjectResult))
4️⃣ 모듈
1. operator 모듈
- '+ : operator.add()
- '- : operator.sub()
- '* : operator.mul()
- / : operator.truediv() #나누기
- % : operator.mod() #나머지
- // : operator.floordiv() #몫
- ** : operator.pow()
print('{} + {} : {}'.format(num1, num2, operator.add(num1, num2)))
age = int(input('나이 입력: '))
vaccine = operator.or_(operator.lt(age, 20), operator.ge(age, 65))
print('age : {}, result : {}'.format(age, vaccine))
1) 비교 연산자 관련 함수
- == : operator.eq()
- != : operator.ne()
- '> : operator.gt()
- '>= : operator.ge()
- < : operator.lt()
- <= : operator.le()
print('{} > {} : {}'.format(num1, num2, operator.gt(num1, num2)))
print('{} < {} : {}'.format(num1, num2, operator.lt(num1, num2)))
2) 논리 연산자 관련 함수
- and : operator.and() #and(함수)
- or : operator.or_()
- not : operator.not_()
flag1 : True
flag2 : False
print('not {} : {}'.format(flag1, operator.not_(flag1)))
not True : False
2. random 모듈
import random
rInt = random.randint(10, 100)
num10 = operator.floordiv(rInt, 10)
num1 = operator.mod(rInt, 10)
print('난수 : {}'.format(rInt))
print('십의 자리 : {}'.format(num10))
print('일이 자리 : {}'.format(num1))
print('십의 자리는 3의 배수이다. : {}'.format(operator.mod(num10, 3) == 0))
print('일의 자리는 3의 배수이다. : {}'.format(operator.mod(num1, 3) == 0))