![](/img/trans.png)
[英]Sum all numbers 0 to x that are divisible by y using while loop in python
[英]Sum of all numbers within a range without numbers divisible by x in python
我正在尝试编写一个代码(在 python 中),我可以在其中输入一个范围,它会找到除可被 x 整除的数字之外的所有数字的总和(我也选择)。
例如:
如果范围是0<N<10
且x = 3
那么我希望代码对数字 1 + 2 + 4 + 5 + 7 + 8 求和并输出 27。
或者如果范围是0<N<5
和x = 2
我希望代码对数字 1 + 3 求和并输出 4
但是,问题是我不知道该怎么做。 谁能帮我?
对于您的第二个示例:( 0<N<5
, x=2
):
sum(i for i in range(1, 5) if i%2)
你可以这样做:
>>> 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.