gpt4 book ai didi

python - 如何用递归对参数列表求和?

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:05 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,它接受任意数量的参数,然后使用递归对它们求和(我没有使用内置的求和函数。我假设参数是 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)

关于python - 如何用递归对参数列表求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29528959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com