[python] 숫자의 나눗셈을 구합니다

파이썬에서 나눗셈을 찾는 방법은 무엇입니까?

예를 들어
, 숫자가 26이고 나누기 숫자가 7이면 나누기 나머지는 5입니다
(7 + 7 + 7 = 21 및 26-21 = 5부터).



답변

모듈로 연산자를 찾고 있습니다.

a % b

예를 들면 다음과 같습니다.

26 % 7

물론, 그들은 당신이 직접 구현하기를 원했을 수도 있습니다.


답변

부서의 나머지 부분은 연산자를 사용하여 발견 할 수 있습니다 %.

>>> 26%7
5

몫과 모듈로가 모두 필요한 경우 내장 divmod함수가 있습니다.

>>> seconds= 137
>>> minutes, seconds= divmod(seconds, 60)


답변

26 % 7 (나머지 얻을 것이다)

26/7 (제수를 부동 값으로 사용할 수 있음)

26 // 7 (제수 만 정수 값을 얻습니다))


답변

한 줄의 코드 (보다 일반적인 유스 케이스)에서 몫과 나머지를 얻으려면 다음을 사용하십시오.

quotient, remainder = divmod(dividend, divisor)
#or
divmod(26, 7)


답변

모듈로를 피하려면 네 가지 기본 작업을 조합하여 사용할 수도 있습니다. 🙂

26 - (26 // 7 * 7) = 5


답변

Python 3.7부터 새로운 math.remainder()기능이 있습니다.

from math import remainder
print(remainder(26,7))

산출:

-2.0  # not 5

참고로 위의 동일한 아니다%.

문서 인용 :

수학. 나머지 (x, y)

y와 관련하여 x의 IEEE 754 스타일 나머지를 반환합니다. 유한 x 및 유한 0이 아닌 y의 경우, 이것은 차이 x-n * y이며, 여기서 n은 몫 x / y의 정확한 값에 가장 가까운 정수입니다. x / y가 두 개의 연속 정수 사이의 정확히 절반이면 n에 가장 가까운 짝수가 사용됩니다. 나머지 r = 나머지 (x, y)는 항상 abs (r) <= 0.5 * abs (y)를 충족합니다.

특수한 경우는 IEEE 754를 따릅니다. 특히, 나머지 x (x, math.inf)는 모든 유한 x에 대해 x이고 나머지 (x, 0) 및 나머지 (math.inf, x)는 NaN이 아닌 x에 대해 ValueError를 발생시킵니다. 나머지 연산의 결과가 0이면 해당 0은 x와 같은 부호를 갖습니다.

IEEE 754 이진 부동 소수점을 사용하는 플랫폼에서이 작업의 결과는 항상 정확하게 표현 가능합니다. 반올림 오류가 발생하지 않습니다.

Issue29962 는 새로운 기능을 만들기위한 이론적 근거를 설명합니다.


답변

나눌 때 / 대신 %를 사용하십시오. 그러면 나머지가 반환됩니다. 그래서 당신의 경우

26 % 7 = 5