如何找到一个程序,它将添加只能被某些数字整除的数字总和

时间:2013-10-19 20:09:22

标签: python

抱歉,我是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))

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

1 个答案:

答案 0 :(得分:2)

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

另请考虑不要对345等值进行硬编码。将这些作为参数传递给函数可能更好。