簡體   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