%在计算中是什么?我不知道它是做什么的。

它能算出计算的百分比吗例如4% 2显然等于0。如何?


当前回答

def绝对(c): 如果c > = 0: 返回c 其他: 返回c * 1 x=int(input("输入值")) 一个绝对(x) = print ()

其他回答

请注意

(3 +2 + 1 - 5) + (4 % 2) - (1/4) + 6

即使使用括号,在Python 3.4中计算的结果也是6.75,而不是7。


'/'操作符也不是那么容易理解(python2.7): try…

- 1/4

1 - 1/4

这有点离题,但在计算上面的表达式时应该考虑:)

The % (modulo) operator yields the remainder from the division of the first argument by the second. The numeric arguments are first converted to a common type. A zero right argument raises the ZeroDivisionError exception. The arguments may be floating point numbers, e.g., 3.14%0.7 equals 0.34 (since 3.14 equals 4*0.7 + 0.34.) The modulo operator always yields a result with the same sign as its second operand (or zero); the absolute value of the result is strictly smaller than the absolute value of the second operand [2].

摘自http://docs.python.org/reference/expressions.html

示例1: 6%2的结果为0,因为如果6除以2,没有余数(3倍)。

例2:7%2的结果是1,因为当7除以2(3次)时,余数是1。

总结一下,它返回除法运算的余数,如果没有余数,则返回0。6%2意味着6的余数除以2。

%(取模)操作符产生第一个参数除以第二个参数的余数。数值参数首先转换为公共类型。

3 + 2 + 1-5 + 4% 2-1/4 + 6 = 7

这基于运算符优先级。

我很难轻易地找到% 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

此外,还有一个有用的内置函数divmod:

divmod (a, b) 取两个(非复数)数字作为参数并返回一对数字 由它们的商和组成 使用长除法时的余数。