什么是%在计算?我似乎无法弄清楚它的作用.
例如,它是否计算出计算的百分比:4 % 2显然等于0.如何?
我需要测试从1到1000的每个数字是3的倍数还是5的倍数.我认为我这样做的方法是将数字除以3,如果结果是整数那么它就会是3的倍数.与5相同.
如何测试数字是否为整数?
这是我目前的代码:
n = 0
s = 0
while (n < 1001):
x = n/3
if isinstance(x, (int, long)):
print 'Multiple of 3!'
s = s + n
if False:
y = n/5
if isinstance(y, (int, long)):
s = s + n
print 'Number: '
print n
print 'Sum:'
print s
n = n + 1
Run Code Online (Sandbox Code Playgroud) Python中是否有任何余数运算符?我不要求模运算符,但余数.例如:
-5 mod 2 = 1
Run Code Online (Sandbox Code Playgroud)
但
-5 rem 2 = -1 # where "rem" is a remainder operator.
Run Code Online (Sandbox Code Playgroud)
我是否必须自己实施;)?
从Python 3.7的新增功能中,
我们可以看到有新的math.remainder。它说
返回关于y的x的IEEE 754样式余数。对于有限x和有限非零y,这是差异
x - n*y,其中n是最接近商的精确值的整数x / y。如果x / y恰好位于两个连续整数之间,则将最接近的偶数整数用于n。因此,其余部分r = remainder(x, y)始终令人满意abs(r) <= 0.5 * abs(y)。特殊情况遵循IEEE 754:尤其
remainder(x, math.inf)是对于任何有限X X和remainder(x, 0)和remainder(math.inf, x)提高ValueError任何非NaN的X。如果余数运算的结果为零,则该零将具有与x相同的符号。在使用IEEE 754二进制浮点的平台上,此操作的结果始终可以精确表示:不引入舍入错误。
但我们也要记住,有一个%符号是
其余
x / y
我们还看到操作员需要注意:
不适用于复数。相反,
abs()如果合适,使用转换为浮点数。
我甚至没有尝试过运行python 3.7。
但是我尝试过
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin …Run Code Online (Sandbox Code Playgroud) python ×4
cpython ×1
integer ×1
math ×1
modulo ×1
modulus ×1
operators ×1
python-2.7 ×1
python-3.7 ×1
syntax ×1