%在计算中是什么?我不知道它是做什么的。
它能算出计算的百分比吗例如4% 2显然等于0。如何?
%在计算中是什么?我不知道它是做什么的。
它能算出计算的百分比吗例如4% 2显然等于0。如何?
当前回答
与许多类c语言一样,它是余数运算或模运算。有关数字类型(int, float, long, complex)请参阅文档。
其他回答
与许多类c语言一样,它是余数运算或模运算。有关数字类型(int, float, long, complex)请参阅文档。
这是一个模运算 http://en.wikipedia.org/wiki/Modulo_operation
http://docs.python.org/reference/expressions.html
根据运算的顺序,结果是
(3+2+1-5) + (4%) 2 - (1/4) + 6
(1) + (0) - (0) + 6
7
1/4=0,因为我们在做整数运算。
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。
它是一个模运算,除了它是一个老式的c风格字符串格式化操作符,而不是一个模运算符。详情请看这里。您将在现有代码中看到很多这样的代码。
请注意
(3 +2 + 1 - 5) + (4 % 2) - (1/4) + 6
即使使用括号,在Python 3.4中计算的结果也是6.75,而不是7。
'/'操作符也不是那么容易理解(python2.7): try…
- 1/4
1 - 1/4
这有点离题,但在计算上面的表达式时应该考虑:)