[英]How can i sum every nth number from list recursively?
我想遞歸地添加列表中的每個第 n 個數字,但不是第一個數字,所以假設我有一個列表[1, 2, 3, 4, 5, 6]
我想添加每個第二個數字,這意味着我需要添加2 + 4 + 6
但如果我想添加每個第三個數字,那么它應該添加3 + 6
。
所以現在我有這么多,我想添加每個第二個數字,這意味着我想添加2
、 4
和6
,但我似乎無法弄清楚為什么它不起作用,我應該怎么做?
def getsum(numbers):
if len(piece)==0:
return 0
else:
return getsum(numbers[2:]) + numbers[0]
print getSum([1, 2, 3, 4, 5, 6])
您可以選擇第n
個數字,然后當您再次調用 function 時遞歸地切掉所有內容
def get_sum(numbers, n):
if len(numbers) < n:
return 0
return numbers[n-1] + get_sum(numbers[n:], n)
例如分別使用 n = 2 和 n = 3
>>> get_sum([1, 2, 3, 4, 5, 6], 2) # 2 + 4 + 6
12
>>> get_sum([1, 2, 3, 4, 5, 6], 3) # 3 + 6
9
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.