0

抱歉,我是 Python 新手。我想找到一个 Python 程序,它可以找到整数 1 到 n 的和,这些整数可以被 a 和 b 整除,但不能被 c 整除。

例如,如果

n = 20, a = 3, b = 4 and c = 5 

我们会有:

3 + 4 + 6 + 8 + 9 + 12 + 16 

我现在的代码是这样的:

   def summing(n):
        x = sum(k for k in xrange(n) if (k%3==0) or (k%4==0))
        return x - sum(k for k in xrange(n) if (k%5==0))

但是,我知道这是不对的,因为它减去 5 的倍数,即使它们不能被 3 或 4 整除。

4

1 回答 1

2
def sumNumInRange(n):
    return sum(k for k in xrange(n) if k % 5 != 0 and (k % 3 == 0 or k % 4 == 0))

还要考虑不要硬编码像3,45. 将这些作为参数传递给函数可能会更好。

于 2013-10-19T20:12:33.317 回答