抱歉,我是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的倍数。
答案 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))
另请考虑不要对3
,4
和5
等值进行硬编码。将这些作为参数传递给函数可能更好。