我想使用遞回來獲得陣列元素的乘法。
arr是陣列,n是陣列的長度。
如果 arr=[1, 2, 3], n=3,則答案為 6。
我試過這個,但發生了錯誤。
def multiply(arr, n):
if n == 0:
return arr
else:
return arr[n] * \
multyply(arr[n - 1])
請幫我。
uj5u.com熱心網友回復:
你應該像這樣實作它
def mul(arr):
if not arr:
return 1
return arr[0] * mul(arr[1:])
uj5u.com熱心網友回復:
你的方法很接近。嘗試更改n計數和退出條件以檢查何時n超過arr-
def multiply(arr, n = 0):
if n >= len(arr):
return 1
else:
return arr[n] * multiply(arr, n 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/523497.html
標籤:Python递归
上一篇:邏輯數學運算
