我需要测试从1到1000的每个数字是3的倍数还是5的倍数。我想这样做的方法是将这个数字除以3,如果结果是一个整数,那么它将是3的倍数。5号也一样
如何测试该数字是否为整数
这是我目前的代码:
n=0
s=0
而(n<;1001):
x=n/3
如果isinstance(x,(int,long)):
打印“3的倍数!”
s=s+n
如果为假:
y=n/5
如果isinstance(y,(int,long)):
s=s+n
打印“编号:”
印刷品
打印“总和:”
印刷品
n=n+1
您可以使用模数运算符,%
n%k==0
当且仅当n是k的精确倍数时,计算true。在初等数学中,这就是除法的余数
在您当前的方法中,您执行除法,结果将是
- 如果使用整数除法,则始终为整数,或
- 如果使用浮点除法,则始终使用浮点
这只是测试可分性的错误方法