파이썬 기초(6)_연산자 종류, 산술연산자& divmod( ), sqrt( ), pow( )함수

Jio.B·2023년 6월 3일

< 연산자 > * result = data1 + data2

  1. 산술 연산자 : + - * / % // **

    % : 나눗셈에서 '나머지'만 구하는 연산자
    // : 나눗셈에서 '몫'만 구하는 연산자
    ** : 거듭제곱을 구하는 연산자

  2. (복합)할당 연산자 : = += -= *= /= %= //=

    += : 덧셈한 후에 할당
    %= : 나머지를 구한 후에 할당
    //= : 몫을 구한 후에 할당

  3. 비교 연산자 : > >= < <= == !=

    == : 같다
    != : 같지 않다

  4. 논리 연산자 : and, or, not


산술 연산자

  • 덧셈

    문자열, 공백 데이터는 덧셈 성립 : 문자+문자, 문자+공백 = 나열
    (단, 숫자+문자는 불가)

  • 뺄셈

    문자열을 이용한 뺄셈은 불가

  • 곱셈

    문자열을 이용한 곱셈 성립
    ex) 'Hi ' * 3 = Hi Hi Hi

  • 나눗셈

    • 0을 나눗셈 하는 경우 결과는 항상 0 (0/3 = 0)
    • 0으로 다른 수를 나누는 것은 성립되지 X = error
    • 나눗셈의 결과는 언제나 'float'형태 ---> 필요시 형식문자 활용
      [ex] num1 = 10 , num2 = 3, result = num1 / num2
      print('result : {}'.format(result)) ---> result : 3.33333333
      print('result : %.2f' % result) ---> result : 3.33

    1) 나머지 연산자 : 나눗셈 결과 나머지만 구함

    num1 = 10, num2 = 3
    result = num1 % num2
    print('num1: {}, num2 : {}, result : {}'.format(num1, num2, result))
    ---> num1 : 10, num2 : 3, result : 1

    2) 몫 연산자 : 나눗셈 결과 몫만 구함

    num1 = 10, num2 = 3
    result = num1 // num2
    print('num1 : {}, num2 : {}, result : {}'.format(num1, num2, result))
    ---> num1 : 10, num2 : 3, result : 3

divmod( ) 함수

  • 나머지와 몫을 한 번에 구할 수 있는 함수 = division mode
  • 함수의 결과값은 튜플(in 자료구조)의 형태로 나타나며 (몫, 나머지) 형식으로 출력됨
  • (몫, 나머지) = ([index 0의 자리], [index 1의 자리])
  • divmod( ) 예시

    result = divmod(num1, num2) --- * 자동적으로 num1을 num2로 나누게 됨
    print('result : {}'.format(result))
    print('몫 : {}'.format(result[0]))
    print('나머지 : {}'.format(result[1]))
    ---> result : (3, 1) / 몫 : 3 / 나머지 : 1


  • 거듭제곱&제곱근
    1) 거듭제곱 구하기

    num1 = 2, num2 = 3
    result = num1 ** num2 -----> [ 2의 3제곱을 구하라! ]
    print('result : {}'.format(result)) -----> result : 8

pow( ) 함수

  • math 모듈 라이브러리(in Python)에 해당
  • pow( ) 함수를 이용한 "거듭제곱" 구하기

    import math -----> 모듈 사용할 땐 import 입력
    print(math.pow(2,3)) -----> 8


2) 제곱근 구하기
: n의 m제곱근 구하는 공식 = n ** (1/m)

result = 2 ** (1/3) -----> [ 2의 3제곱근(루트)을 구하라! ]
print('2의 3제곱근 : %.2f' % result) -----> 2의 3제곱근 : 1.26

[ex] 2의 (2)제곱근 구하기
result = 2 ** (1/2)
print = ('result : %.2f' % result) -----> result : 1.41

sqrt( ) 함수

  • math 모듈 라이브러리(in Python)에 해당
  • sqrt( ) 함수를 이용한 "제곱근" 구하기 : 단, 2제곱근만 구할 수 있음
  • 3제곱근부터는 "n ** (1/m)" 공식 활용하여 구해야 함

    import math
    math.sqrt(2) -----> [2의 제곱근을 구하라!]
    print(math.sqrt(2)) -----> 1.41421...


[예제] 아들이 엄마한테 용돈을 받는데, 첫 달에는 200원을 받고 매월 이전 달의 2배씩 인상하기로 했다. 12개월 째 되는 달에는 얼마를 받게 되는지 계산하라.

firstMonthMoney = 200
after12Money = ((firstMonthMoney 0.01) ** 12) 100
print('12개월 후 용돈 : { }'.format(after12Money)) -----> 12개월 후 용돈 : 409600.0

[참고] 천의 단위마다 콤마( , ) 표기하기
(1) 정수로 형 변환하기
after12Money = int(after12Money)
(2) format( ) 함수 사용하기 : 이때 int가 str(문자열)으로 자동 변환됨
strResult = format(after12Money, ',')
print(strResult, '원') -----> 409,600원

0개의 댓글