我必須在Python中編寫一個函數,輸出數組中3個連續數字的總和,例如,如果數組具有以下值:[10, 20, 30, 40, 50]
它應該添加前3個數字(10 + 20 + 30)
然後(20 + 30 + 40)
然後(30 + 40 + 50)
依此類推,直到50是最後一個數值。查找數組中的3個連續數字的總和
我的代碼添加所有的號碼如下:
def sum_interval(values, start, stop):
N = len(values)
terms = np.zeros(N)
for i in np.arange(start, stop + 1, 1):
terms[i] = values[i]
ans = np.sum(terms)
return ans
arr = np.array([10, 20, 30, 40, 50])
print(sum_interval(arr, 2, 4))
此以下函數使用上述sum_interval定義來計算3張連續的數的總和:
def sum_triplets(values):
N = len(values)
terms = np.zeros(N)
for i in range(0, N, 1):
terms[i] = sum_interval(values, i, N-1)
return terms
arr = np.array([10, 20, 30, 40, 50])
print(sum_triplets(arr))
預期產出:
[60, 90, 120, 90, 50]
我得到的輸出:
[150, 140, 120, 90, 50]
非常感謝。這幫助了很多 –