Python 如何使用递归对参数列表求和?

Python 如何使用递归对参数列表求和?,python,recursion,Python,Recursion,我正在尝试编写一个函数,它接受任意数量的参数,然后使用递归求和。我没有使用内置的求和函数。我假设参数是int 但我的基本情况并不能阻止它的递归!有什么提示吗 def sum_all(*args): if args == (): return 0 else: return args[0] + sum_all(args[1:]) 您需要在递归中展开args,而args不足以进行测试: def sum_all(*args): if not args: re

我正在尝试编写一个函数,它接受任意数量的参数,然后使用递归求和。我没有使用内置的求和函数。我假设参数是int

但我的基本情况并不能阻止它的递归!有什么提示吗

def sum_all(*args):
 if args == ():
    return 0
 else:
    return args[0] + sum_all(args[1:])

您需要在递归中展开args,而args不足以进行测试:

def sum_all(*args):
    if not args:
        return 0
    return args[0] + sum_all(*args[1:])
                             ^
Python 3还添加了一些新语法,允许您解压缩*args,例如:


您需要在递归中展开args,而args不足以进行测试:

def sum_all(*args):
    if not args:
        return 0
    return args[0] + sum_all(*args[1:])
                             ^
Python 3还添加了一些新语法,允许您解压缩*args,例如: