[英]how to sum a list of arguments with recursion?
我试图编写一个函数,该函数接受任意数量的参数,然后使用递归求和(我未使用内置的sum函数。我假设参数将为int。)
但是我的基本情况并不能阻止它再次发生! 有什么提示吗?
def sum_all(*args):
if args == ():
return 0
else:
return args[0] + sum_all(args[1:])
您需要在递归中扩展args,而not args
不足以进行测试:
def sum_all(*args):
if not args:
return 0
return args[0] + sum_all(*args[1:])
^
Python 3还添加了一些新语法,使您可以解压缩*args
,例如:
def sum_all(*args):
if not args:
return 0
a, *b = args
return a + sum_all(*b)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.