숫자의 나눗셈 나머지를 찾습니다.
Python에서 숫자의 나눗셈의 나머지를 찾으려면 어떻게 해야 할까요?
예를 들어 다음과 같습니다.
숫자가 26이고 나누어진 수가 7이면 나눗셈의 나머지는 5가 됩니다.
(7+7+7=21 및 26-21=5 이후).
모듈로 연산자를 찾고 있습니다.
a % b
예를 들어 다음과 같습니다.
>>> 26 % 7
5
물론 고객이 직접 구현하기를 원했을 수도 있습니다.그것도 어렵지 않습니다.
나눗셈의 나머지 부분은 연산자를 사용하여 검색할 수 있습니다.%
:
>>> 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)
Python 3.7부터 새로운 기능이 있습니다.math.remainder()
기능:
from math import remainder
print(remainder(26,7))
출력:
-2.0 # not 5
주의해 주십시오.상기와는 다릅니다.%
.
매뉴얼 견적:
math.disc(x, y)
y에 대한 IEEE 754 스타일의 나머지 x를 반환합니다.유한 x와 유한 비제로 y의 경우, 이것은 차이 x - n*y입니다.여기서 n은 몫 x/y의 정확한 값에 가장 가까운 정수입니다.x/y가 두 연속된 정수 사이의 정확한 중간인 경우 가장 가까운 짝수 정수가 n에 사용됩니다.따라서 나머지 r = 나머지(x, y)는 항상 abs(r) <= 0.5 * abs(y)를 만족한다.
IEEE 754에 이은 특수한 경우: 특히, remain(x, math.inf)은 유한 x에 대해 x이고 remain(x, 0)과 remain(math.inf, x)은 NaN 이외의 x에 대해 ValueError를 발생시킵니다.나머지 연산의 결과가 0일 경우, 그 0은 x와 같은 부호를 가집니다.
IEEE 754 바이너리 부동 소수점을 사용하는 플랫폼에서는, 이 조작의 결과는 항상 정확하게 표시됩니다.반올림 에러는 발생하지 않습니다.
Issue29962에서는 새로운 함수를 작성하기 위한 근거를 설명합니다.
modulo를 회피하는 경우는, 다음의 4개의 기본적인 조작의 편성을 사용할 수도 있습니다.
26 - (26 // 7 * 7) = 5
나눌 때는 / 대신 %를 사용합니다.이렇게 하면 나머지가 반환됩니다.그래서 당신의 경우
26 % 7 = 5
계수 연산자(%)를 사용하여 해결할 수 있습니다.
26 % 7 = 5;
그러나 26 / 7 = 3은 몫이 되지만 % 연산자는 나머지를 제공하기 때문입니다.
Modulo가 정답입니다만, 수동으로 하고 있다면 이 방법이 효과가 있을 것입니다.
num = input("Enter a number: ")
div = input("Enter a divisor: ")
while num >= div:
num -= div
print num
modulo 연산자를 사용하여 나머지를 찾을 수 있습니다. 예
a=14
b=10
print(a%b)
4 로 인쇄됩니다.
나눗셈 문제의 나머지를 원한다면 수학처럼 실제 나머지 규칙을 사용하십시오.이 방법으로는 소수점 이하 출력은 얻을 수 없습니다.
valone = 8
valtwo = 3
x = valone / valtwo
r = valone - (valtwo * x)
print "Answer: %s with a remainder of %s" % (x, r)
계산기 는 그냥 '산출하다', '산출하다', '산출하다', '산출하다'로 바꾸면 .valone = 8
valone = int(input("Value One"))
됩니다.valtwo = 3
하하분분
다음은 Python의 나머지 정수 버전으로, C의 "%" 연산자와 같은 결과를 얻을 수 있습니다.
def remainder(n, d):
return (-1 if n < 0 else 1) * (abs(n) % abs(d))
예상 결과:
remainder(123, 10) == 3
remainder(123, -10) == 3
remainder(-123, 10) == -3
remainder(-123, -10) == -3
함수를 정의하고 나머지를 렘(number1,number2)과 같은2개의 값으로 호출할 수 있습니다.이 값은 number1%number2를 반환한 후 잠시 시간을 생성하여 true로 설정한 후 함수 홀딩 번호1과 2의 2개의 입력을 출력한 후 print(rem(number1,number2))를 반환합니다.
언급URL : https://stackoverflow.com/questions/5584586/find-the-division-remainder-of-a-number
'programing' 카테고리의 다른 글
소켓 '/var/mysql/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말'(38) (0) | 2022.11.01 |
---|---|
JavaScript에서 달러 기호의 목적은 무엇입니까? (0) | 2022.11.01 |
PHP에서 문자열을 올바르게 인코딩하려면 어떻게 해야 합니까? (0) | 2022.11.01 |
LIKE 문을 사용하여 PDO 파라미터화된 쿼리를 작성하려면 어떻게 해야 합니까? (0) | 2022.11.01 |
스프링 부트 @ResponseBody가 엔티티 ID를 직렬화하지 않음 (0) | 2022.11.01 |