【发布时间】:2021-02-18 12:35:15
【问题描述】:
我希望输出是一个元组,包括产品的总和。 例如列表 [1,2,3,4] 应该输出 (10,24)。我可以单独获得总和和乘积,但不能同时获得两者。到目前为止,这是我所拥有的:
def sum_product(aList):
if len(aList) == 1:
return aList[0]
result = sum_product(aList[1:])
return (result + aList[0], result*aList[0])
sum_product([1,2,3,4])
非常感谢您的帮助
【问题讨论】:
-
为什么要在这里使用递归?这是一个明确要求递归函数的家庭作业问题吗?在任何其他情况下,您都可以通过迭代更轻松地实现这一目标
-
仔细考虑在基本情况下应该返回什么。特别是,您仍然需要分别返回一个总和和一个产品,对吗?然后仔细想想递归:当你进行递归调用时,你会得到什么样的值?为了获得用于本地总和计算的“小计”,您应该如何处理该结果?而对于产品计算?
-
@mightyandweakcoder 不,这不能解决 OP 代码的问题。
-
我投票决定重新提出这个问题,因为意图很明确,并且 OP 展示了对发布代码的明确尝试。结束原因“不可重现或由拼写错误引起” 根本不合适。这是一个新用户,在他们的问题上关上门是有害的。请重新打开。