繁体   English   中英

在python中没有被x整除的数字的范围内所有数字的总和

[英]Sum of all numbers within a range without numbers divisible by x in python

我正在尝试编写一个代码(在 python 中),我可以在其中输入一个范围,它会找到除可被 x 整除的数字之外的所有数字的总和(我也选择)。

例如:

如果范围是0<N<10x = 3那么我希望代码对数字 1 + 2 + 4 + 5 + 7 + 8 求和并输出 27。

或者如果范围是0<N<5x = 2我希望代码对数字 1 + 3 求和并输出 4

但是,问题是我不知道该怎么做。 谁能帮我?

对于您的第二个示例:( 0<N<5 , x=2 ):

sum(i for i in range(1, 5) if i%2)
def fn(N, x):
    total = 0
    for i in range(N):
        if i%x:
            total += i
    return total

如果您是新手,请阅读 Python 中的循环范围

你可以这样做:

>>> div = 3
>>> n = 10 
>>> num_div = filter(lambda x: x%div, range(n))
>>> sum(num_div)
27

或者作为一个函数

def func(n,div):
   return sum(filter(lambda x: x%div, range(n))

其他答案隐含地假设范围始终从 0 开始。如果您希望能够设置范围的起点和终点,您可以使用:

def sumrange(start, stop, n):
    return sum(i for i in range(start, stop) if i%n)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM