데이터분석 study/Python

TIL_24.08.09_divmod()

justdata 2024. 8. 9. 09:48

프로그래머스 다른 분들의 문제풀이를 보다가

몰랐던 함수가 있어서 작성해본다.

 

나누기 연산자

    - 파이썬은 특이하게 2가지 나누기 연산자를 제공

    - 첫 번째는 실수 나누기 연산자인 ' / ', 두 번째는 정수 나누기 

       연산자인 ' // ' 이다.

    예를 들어,

8 / 2
# -- 4.0 출력
8 // 2
# -- 4 출력

 

그럼 나눗셈 결과에 나머지가 있는 경우는?

 

8 / 3
# -- 2.6666666...6665 출력
8 // 2
# -- 2 출력

 

자료형에 차이뿐만 아니라 반환값에도 차이가 난다.

' / ' 연산자는 실수로 나누기를 하여 소수부를 보존하는 반면에,

'//' 연산자는 정수로 나누기를 하여 소수부를 날리고, 정수부만 반환한다.

 

▶ divmod() 함수

    - 몫과 나머지를 동시에 구할 수 있는 함수

    - 두 개의 숫자를 인자로 받아, 첫 번째 숫자를 두 번째 숫자로 나눈 몫과

      나머비를 튜플형태로 반환 

 

divmod(8, 2)
# -- (4, 0) 출력

divmod(8, 3)
# -- (2, 2) 출력

divmod(x,y) = (x // y, x % y)