%在计算中是什么?我不知道它是做什么的。
它能算出计算的百分比吗例如4% 2显然等于0。如何?
%在计算中是什么?我不知道它是做什么的。
它能算出计算的百分比吗例如4% 2显然等于0。如何?
当前回答
请注意
(3 +2 + 1 - 5) + (4 % 2) - (1/4) + 6
即使使用括号,在Python 3.4中计算的结果也是6.75,而不是7。
'/'操作符也不是那么容易理解(python2.7): try…
- 1/4
1 - 1/4
这有点离题,但在计算上面的表达式时应该考虑:)
其他回答
模运算符也可以用于打印字符串(就像在C中一样),定义在谷歌https://developers.google.com/edu/python/strings上。
# % operator
text = "%d little pigs come out or I'll %s and %s and %s" % (3, 'huff', 'puff', 'blow down')
这似乎有点离题,但它肯定会帮助到某人。
它是一个模运算,除了它是一个老式的c风格字符串格式化操作符,而不是一个模运算符。详情请看这里。您将在现有代码中看到很多这样的代码。
我很难轻易地找到% online使用的具体用例,例如。为什么分数模除法或负模除法会得到这样的结果。希望这有助于澄清以下问题:
一般情况下:
模除法返回数学除法运算的余数。它是这样做的:
假设我们有5的被除数和2的除数,下面的除法运算将是(等于x):
dividend = 5
divisor = 2
x = 5/2
模量计算的第一步是进行整数除法: X_int = 5 // 2 (python中的整数除法使用双斜杠) X_int = 2 接下来,将x_int的输出乘以除数: X_mult = x_int *除数 X_mult = 4 最后,从x_mult中减去红利 红利- x_mult = 1 因此,模运算返回1: 5% 2 = 1
应用程序将模数应用于分数
Example: 2 % 5
应用于分数时的模量计算与上述相同;但是,需要注意的是,当除数大于被除数时,整型除法的结果为零:
dividend = 2
divisor = 5
整数除法结果为0,而;因此,当执行上述步骤3时,红利的值将结转(从零减去):
dividend - 0 = 2 —> 2 % 5 = 2
应用程序将模量应用到负值
整除法发生时,整除法的值舍入到最小整数值:
import math
x = -1.1
math.floor(-1.1) = -2
y = 1.1
math.floor = 1
因此,当你做整数除法时,你可能会得到一个不同于你预期的结果!
将上述步骤应用于下面的除数和被除数,说明了模数的概念:
dividend: -5
divisor: 2
步骤1:应用整数除法
x_int = -5 // 2 = -3
第二步:用整数除数的结果乘以除数
x_mult = x_int * 2 = -6
第三步:从相乘的变量中减去红利,注意双重否定。
dividend - x_mult = -5 -(-6) = 1
因此:
-5 % 2 = 1
模数-左手操作数除以右手操作数并返回余数。
如果有帮助的话:
1:0> 2%6
=> 2
2:0> 8%6
=> 2
3:0> 2%6 == 8%6
=> true
... 等等。
此外,还有一个有用的内置函数divmod:
divmod (a, b) 取两个(非复数)数字作为参数并返回一对数字 由它们的商和组成 使用长除法时的余数。