데이터분석/첫째주

파이썬 Python : 산술 연산자

핑크댕댕이 2023. 9. 20. 03:26
728x90

 

 산술 연산자     

덧셈  【  +  】

정수 + 정수 = 정수
실수 + 실수 = 실수
정수 + 실수 = 실수
문자 + 문자 = 문자를 이어서 나열
숫자 + 문자 = 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
............................................................

 

 

 

반응형