Tiny Finger Point Hand With Heart
본문 바로가기
Python

[Python] 몫과 나머지 , divmod()

by yoondii 2023. 2. 21.
728x90
반응형

 

많은 언어에서 몫과 나머지를 구할때, /와 %를 사용하여 구한다.

 

파이썬에서는 divmod를 사용하여 몫과 나머지를 한번에 구할 수 있다.


3나누기15 의 몫과 나머지

 

/ (나누기), %(나머지)

 

 
a = 3
b = 5

print(a/b)
print(a%b)
-------------------
0.2
3

몫과 나머지를 연산기호를 사용하여 구하였다.

나누기 연산의 결과가 0.2로 나누어 떨어지는 결과를 반환한다.

 

a = 7
b = 15

print(a/b)
print(a%b)
--------------------
0.4666666666666667
7

나누어떨어지지 않는 수는 반올림된다.


divmod

a = 3
b = 15

print(divmod(a,b))
--------------------------
(0,3)
 

divmod 를 사용하여 몫과 나머지를 알 수 있다.

다만 몫을 나누어떨어질때까지 계산하지않고 한자리만 출력한다.

 

a = 3.0
b = 15.0

print(divmod(a,b))
------------------------
(0.0,3.0)
 

float 형식으로 출력을해도 마찬가지다.

 

a,b = divmod(3,15)

print(a,b)
---------------
0,3
 

변수에 uppacking 하여 사용한다.

 


무조건 divmod를 사용하는 게 좋은 방법은 아니다.
가독성이나, 팀의 코드 스타일에 따라서, a//b, a%b와 같이 쓸 때가 더 좋을 수도 있다.
또한, divmod는 작은 숫자를 다룰 때는 a//b, a%b 보다 느리다.

대신, 큰 숫자를 다룰 때는 전자가 후자보다 더 빠르다.

 

상황에 맞게 잘 쓰면 된다!

728x90
반응형

댓글