如何检查一个数能否被另一个数整除(Python)?

2024-04-24 13:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要测试从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

Tags: of方法代码falsenumberif数字整数
3条回答

您可以使用模运算符%

n % k == 0

如果且仅当nk的精确倍数,则求值为true。在初等数学中,这被称为除法的余数。

在当前的方法中,执行一个除法,结果将是

  • 如果使用整数除法,则始终为整数,或者
  • 如果使用浮点除法,则始终为浮点。

这只是测试可分性的错误方法。

我也有同样的方法。因为我不知道如何使用module(%)运算符。

6%3=0 *这意味着如果6除以3,就没有余数,3是6的因数。

现在你必须把它和你的问题联系起来。

如果n%3==0 *这就是说,如果我的数字(n)可以被3整除,留下0余数。

添加then(打印,返回)语句并继续

您可以简单地使用%模运算符来检查可除性。
例如:n % 2 == 0表示n完全可被2整除,n % 2 != 0表示n不完全可被2整除。

相关问题 更多 >