You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python递归实现数组元素乘积?现有代码报错求修正

递归计算数组元素乘积的代码修正

先看你代码里的几个问题:

  • 终止条件错误:当n=0时,空数组的乘积应该是1(乘法的单位元),而不是返回数组本身
  • 索引越界:Python数组是0起始索引,当n等于数组长度时,arr[n]会超出范围,应该取arr[n-1]
  • 函数名拼写错误:multyply应该是multiply
  • 递归传参错误:递归调用时需要传入原数组和n-1,而不是传入单个元素arr[n-1]

修正后的代码:

def multiply(arr, n):
    if n == 0:
        return 1
    else:
        return arr[n - 1] * multiply(arr, n - 1)

测试你的例子:

print(multiply([1, 2, 3], 3))  # 输出6,符合预期

内容的提问来源于stack exchange,提问作者lililllil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 19:10:59