我在将一段递归代码从 Java 转换为 Python 时遇到问题。该函数所做的就是对数组(或列表)中的元素求和。
public static int Summ(int [] arr, size)
{
if(size == 0)
return 0
else
return arr[size-1] + Summ(arr,size-1);
} <-- works fine
Run Code Online (Sandbox Code Playgroud)
但是,在 Python 中,我收到此错误消息: TypeError: unsupported operand type(s) for +: 'int' and 'list'。关于如何解决这个问题有什么建议吗?谢谢!
def Sum(arr,size):
if size == 0:
return 0
else:
return arr[size-1] + Summ(arr,size-1)
Run Code Online (Sandbox Code Playgroud)
你可以只使用
sum(arr)
Run Code Online (Sandbox Code Playgroud)
这将返回列表中值的总和。