Tai*_*mur 91 python integer modulus
我需要测试从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)
Dav*_*nan 194
你使用模数运算符, %
n % k == 0
Run Code Online (Sandbox Code Playgroud)
当且仅当if n
是的精确倍数时,求值为true k
.在小学数学中,这被称为分裂的余数.
在您当前的方法中,您执行除法,结果将是
这是测试可分性的错误方法.