파이썬 Python : 산술 연산자
산술 연산자
덧셈 【 + 】
정수 + 정수 = 정수
실수 + 실수 = 실수
정수 + 실수 = 실수
문자 + 문자 = 문자를 이어서 나열
숫자 + 문자 = ERROR (오류발생!)
뺄셈 【 - 】
정수 - 정수 = 정수
실수 - 실수 = 실수
정수 - 실수 = 실수
문자 - 문자 = ERROR (오류발생!)
숫자 - 문자 = ERROR (오류발생!)
곱셈 【 * 】
정수 × 정수 = 정수
실수 × 실수 = 실수
정수 × 실수 = 실수
문자 × 문자 = ERROR (오류발생!)
문자 × 숫자 = 문자를 숫자만큼 반복하여 나열
나눗셈 【 / 】
- 나눗셈 결과는 float(실수) 형태이다.
정수 / 정수 = 실수
실수 / 실수 = 실수
정수 / 실수 = 실수
문자 / 문자 = ERROR (오류발생!)
문자 / 숫자 = ERROR (오류발생!)숫자를 0으로 나눌수는 없다.
숫자 / 0 = ERROR (오류발생! ZeroDivisionError : division by zero)
- 0을 나눗셈하면 결과는 항상 0이다.
0 / 숫자 = 0.0
# 【 파이썬 】
print('과목의 점수를 입력하세요.')
kor = int(input('[1] 국어 : '))
math = int(input('[2] 수학 : '))
eng = int(input('[3] 영어 : '))
science = int(input('[4] 과학 : '))
history = int(input('[5] 역사 : '))
sum = kor+math+eng+science+history
average = sum / 5
print('\n총점 : {}'.format(sum))
print('평균 : %.2f' % average)
-- 출력 -- 과목의 점수를 입력하세요. [1] 국어 : 65 [2] 수학 : 77 [3] 영어 : 80 [4] 과학 : 94 [5] 역사 : 76 총점 : 392 평균 : 78.40 |
나머지 【 % 】
나눗셈을 하고 나머지만 구하는 것
몫 【 // 】
나눗셈을 하고 몫만 구하는 것
divmod( ) 함수
【 변수명 = divmod( 나누어질 숫자(또는 변수명), 나누는 숫자(또는 변수명) ) 】
【 변수명[0] 】 - 몫
【 변수명[1] 】 - 나머지
- 나눗셈을 하고 나머지와 몫을 한번에 구할 수 있다.
- 몫, 나머지가 튜플 형태로 반환된다.
# 파이썬
print ('학생수를 입력하여 주세요.')
total = int(input('[+] 전체 학생 수 : '))
group = int(input('[+] 그룹별 학생 수 : '))
cnt_group = total // group
cnt_remain = total % group
print('\n{}개의 그룹이 만들어지며, 남은 학생의 수는 {}명입니다.\n'.format(cnt_group, cnt_remain))
cnt = divmod(total, group)
print('그룹 수 : ', cnt[0])
print('남은 학생 수 : ', cnt[1])
-- 출력 -- 학생수를 입력하여 주세요. [+] 전체 학생 수 : 46 [+] 그룹별 학생 수 : 5 9개의 그룹이 만들어지며, 남은 학생의 수는 1명입니다. 그룹 수 : 9 남은 학생 수 : 1 |
거듭제곱 【 ** 】
같은 수를 여러 번 곱한 값을 구한다.
ex) 2³ = 2 × 2 × 2 --> 2 ** 3
【 곱할 숫자 ** 곱하는 횟수 】
# 파이썬
num = int(input('숫자를 입력하여 주세요 : '))
square2 = num ** 2
square3 = num ** 3
square4 = num ** 4
print('{0}의 제곱({0}²) : {1}'.format(num, square2))
print('{0}의 3제곱({0}³) : {1}'.format(num, square3))
print('{0}의 4제곱({0}⁴) : {1}'.format(num, square4))
-- 출력 -- 숫자를 입력하여 주세요 : 3 3의 제곱(3²) : 9 3의 3제곱(3³) : 27 3의 4제곱(3⁴) : 81 |
제곱근 구하기 【 s의 n제곱근 공식 = s ** (1/n) 】
√(루트)안의 숫자가 나오려면 어떤 수(제곱근)를 제곱해야 하는가
- 2의 제곱근(2제곱근) 구하기 = 2 ** (1/2)
2의 제곱근 = 1.414214 - 2의 3제곱근 구하기 = 2 ** (1/3)
2의 3제곱근 = 1.259921 - 2의 4제곱근 구하기 = 2 ** (1/4)
2의 4제곱근 = 1.189207
# 파이썬
num = int(input('숫자를 입력하여 주세요 : '))
root2 = num ** (1/2)
root3 = num ** (1/3)
root4 = num ** (1/4)
print('%d의 제곱근 : %.4f' % (num, root2))
print('%d의 3제곱근 : %.4f' % (num, root3))
print('%d의 4제곱근 : %.4f' % (num, root4))
-- 출력 -- 숫자를 입력하여 주세요 : 5 5의 제곱근 : 2.2361 5의 3제곱근 : 1.7100 5의 4제곱근 : 1.4953 |
math 모듈의 pow( ) 함수: 거듭제곱
- 거듭제곱(**)을 구할수 있다.
- 반환되는 결과값은 float(실수) 형태이다.
【 import math 】 #math모듈 불러오기
【 변수명 = math.pow( 곱할 숫자(또는 변수명), 곱하는 횟수 ) 】
# 파이썬
import math
num = int(input('숫자를 입력하여 주세요 : '))
square2 = math.pow(num,2)
square3 = math.pow(num,3)
square4 = math.pow(num,4)
print('{0}의 제곱({0}²) : {1}'.format(num, square2))
print('{0}의 3제곱({0}³) : {1}'.format(num, square3))
print('{0}의 4제곱({0}⁴) : {1}'.format(num, square4))
-- 출력 -- 숫자를 입력하여 주세요 : 2 2의 제곱(2²) : 4.0 2의 3제곱(2³) : 8.0 2의 4제곱(2⁴) : 16.0 |
math 모듈의 sqrt( ) 함수 : 2제곱근
- 제곱근(√)을 구할수 있다. 단, 2제곱근만 구할 수 있다.
- 반환되는 결과값은 float(실수) 형태이다.
【 import math 】 #math모듈 불러오기
【 변수명 = math.sqrt( 제곱근을 구할 숫자(또는 변수명) ) 】
# 파이썬
import math
num = int(input('숫자를 입력하여 주세요 : '))
root2 = math.sqrt(num)
root3 = num ** (1/3)
root4 = num ** (1/4)
print(f'{num}의 제곱근 : {root2}')
print(f'{num}의 3제곱근 : {root3}')
print(f'{num}의 4제곱근 : {root4}')
-- 출력 -- 숫자를 입력하여 주세요 : 25 25의 제곱근 : 5.0 25의 3제곱근 : 2.924017738212866 25의 4제곱근 : 2.23606797749979 |
복합 연산자
- │ += │ 덧셈 연산 후에 할당
【 변수명a = 변수명a + 숫자 】
→ 【 변수명a += 숫자 】 - │ -= │ 뺄셈 연산 후에 할당
- │ *= │ 곱셈 연산 후에 할당
- │ /= │ 나눗셈 연산 후에 할당
- │ %= │ 나머지 연산 후에 할당
- │ //= │ 몫 연산 후에 할당
- │ **= │ 거듭제곱 연산 후에 할당
# 파이썬
rain = 0
month = int(input('1월 강수량 : '))
rain += month
print('1월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('2월 강수량 : '))
rain += month
print('2월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('3월 강수량 : '))
rain += month
print('3월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('4월 강수량 : '))
rain += month
print('4월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('5월 강수량 : '))
rain += month
print('5월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('6월 강수량 : '))
rain += month
print('6월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('7월 강수량 : '))
rain += month
print('7월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('8월 강수량 : '))
rain += month
print('8월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('9월 강수량 : '))
ain += month
print('9월 누적 강수량 : {}mm'.format(rain,','))
month = int(input('10월 강수량 : '))
rain += month
print('10월 누적 강수량 : {}mm'.format(rain,','))
onth = int(input('11월 강수량 : '))
rain += month
print('11 누적 강수량 : {}mm'.format(rain,','))
month = int(input('12월 강수량 : '))
rain += month
print('12월 누적 강수량 : {}mm'.format(rain,','))
avg = rain/12
print()
print('.'*60)
print('연간 누적 강수량 : {}mm'.format(rain,','))
print('연간 평균 강수량 : {}mm'.format(avg,','))
print('.'*60)
-- 출력 -- 1월 강수량 : 30 1월 누적 강수량 : 30mm 2월 강수량 : 45 2월 누적 강수량 : 75mm 3월 강수량 : 47 3월 누적 강수량 : 122mm 4월 강수량 : 55 4월 누적 강수량 : 177mm 5월 강수량 : 65 5월 누적 강수량 : 242mm 6월 강수량 : 100 6월 누적 강수량 : 342mm 7월 강수량 : 128 7월 누적 강수량 : 470mm 8월 강수량 : 209 8월 누적 강수량 : 679mm 9월 강수량 : 204 9월 누적 강수량 : 883mm 10월 강수량 : 186 10월 누적 강수량 : 1069mm 11월 강수량 : 67 11 누적 강수량 : 1136mm 12월 강수량 : 25 12월 누적 강수량 : 1161mm ............................................................ 연간 누적 강수량 : 1161mm 연간 평균 강수량 : 96.75mm ............................................................ |