我怎样才能在Python中找到数字的除法余数?
例如:
如果数字是26并且分数是7,那么除数余数是5
(因为7 + 7 + 7 = 21和26-21 = 5。)
答案 0 :(得分:171)
可以使用运算符%
:
>>> 26%7
5
如果你需要商和模数,那就是内置divmod
函数:
>>> seconds= 137
>>> minutes, seconds= divmod(seconds, 60)
答案 1 :(得分:153)
您正在寻找模运算符:
a % b
例如:
26 % 7
当然,也许他们希望你自己实施,这也不会太难。
答案 2 :(得分:28)
26%7(你会得到余额)
26/7(你将获得除数可以是浮动值)
26 // 7(你只得到除数整数值))
答案 3 :(得分:14)
如果你想避免使用模数,你也可以使用四种基本操作的组合:)
26 - (26 // 7 * 7) = 5
答案 4 :(得分:10)
从Python 3.7开始,有一个新的math.remainder()
函数:
from math import remainder
print(remainder(26,7))
数学。余数(x,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:特别是余数(x,math.inf) 是任何有限x的x,余数(x,0)和余数(math.inf,x) 引发任何非NaN x的ValueError。如果剩下的结果 操作为零,该零将与x具有相同的符号。
在使用IEEE 754二进制浮点的平台上,结果如此 操作总是完全可以表示:没有舍入错误 引入的。
Issue29962描述了创建新功能的基本原理。
答案 5 :(得分:4)
分割时使用%而不是/。这将为您返回剩余部分。所以在你的情况下
26 % 7 = 5
答案 6 :(得分:3)
模数将是正确的答案,但如果你手动这样做,这应该有效。
num = input("Enter a number: ")
div = input("Enter a divisor: ")
while num >= div:
num -= div
print num
答案 7 :(得分:2)
我们可以通过使用模运算符(%)
来解决这个问题26%7 = 5;
但 26/7 = 3因为它会给出商,但%运算符会给出余数。
答案 8 :(得分:2)
您可以使用模运算符找到余数 例子
a=14
b=10
print(a%b)
它将打印4
答案 9 :(得分:0)
如果你想要除法的其余部分,只需使用实际的余数规则,就像在数学中一样。当然,这不会给你一个十进制输出。
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
做同样的事情,但明显不同的可用物品。
答案 10 :(得分:0)
如果要在一行代码中获得商和余数(更多用例),请使用:
quotient, remainder = divmod(dividend, divisor)
#or
divmod(26, 7)
答案 11 :(得分:0)
这是 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
答案 12 :(得分:-1)
您可以定义一个函数并使用2个值(如rem(number1,number2))返回其剩余数,以返回number1%number2 然后创建一阵子并将其设置为true,然后为保持数字1和2的函数打印出两个输入,然后打印(rem(number1,number2)