我需要测试从1到1000的每个数字是3的倍数还是5的倍数。我认为我要这样做的方式是将数字除以3,如果结果是整数,则它将是3的倍数。与5相同。如何测试数字是否为整数?这是我当前的代码:n = 0s = 0while (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
3 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
您可以使用模数运算符执行此操作, %
n % k == 0
当且仅当n是的精确倍数时,计算结果为true k。在小学数学中,这被称为除法运算的余数。
在您当前的方法中,您执行除法,结果将是
如果使用整数除法,则始终为整数,或者
如果使用浮点除法,则始终为浮点数。
测试除数只是错误的方法。
慕工程0101907
TA贡献1887条经验 获得超5个赞
我有同样的方法。因为我不了解如何使用module(%)运算符。
6%3 = 0 *这意味着如果将6除以3,就不会有余数,而3是6的因数。
现在,您必须将其与给定的问题相关联。
如果n%3 == 0 *这是说,如果我的数字(n)被3整除,剩下0。
添加您的then(print,return)语句,然后继续
catspeake
TA贡献1111条经验 获得超0个赞
该代码似乎可以满足您的要求。
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
print(value)
或类似的东西
for value in range(1,1000):
if value % 3 == 0 or value % 5 == 0:
some_list.append(value)
或任何数量的东西。
添加回答
举报
0/150
提交
取消