如何在Python中使用递归求解此公式?
我必须使用递归来计算以下公式: 我真的不知道该怎么做。这就是我到目前为止所做的:如何在Python中使用递归求解此公式?,python,recursion,Python,Recursion,我必须使用递归来计算以下公式: 我真的不知道该怎么做。这就是我到目前为止所做的: def equation(i): if i == 0: return 15 else: return 我不知道如何在else之后将其转换为递归函数。我认为这是可行的: def equation(i): if i == 0: return 15 return (3*i*i + 2*i + 15) + equation(i-1) 这似乎是一个使用递
def equation(i):
if i == 0:
return 15
else:
return
我不知道如何在else之后将其转换为递归函数。我认为这是可行的:
def equation(i):
if i == 0: return 15
return (3*i*i + 2*i + 15) + equation(i-1)
这似乎是一个使用递归的糟糕例子,因为这是一个简单的单行计算。你确定你正确理解了赋值吗?不清楚用递归计算这种表达式意味着什么。递归计算,甚至迭代计算,没有多大意义。自然的实现是
返回3*i**2+2*i+15
。这表明我们缺少了一些重要的上下文。你不是在计算(3i^2+2i+15)
你是在计算(3i^2+2i+15)
从0到0的所有i
值的总和。这个公式与你原来发布的公式不等价,你忽略了非常重要的总和部分。你明白这个等式是怎么说的吗?如果你调用等式(-1)
的话,它将永远循环下去。通常,求和被解释为i@LeonardoChirivì我会迂腐地争辩说,负输入应该给出一个0值,而不是一个错误,有点像范围(3,2)中i的a:好吧,它所需要的只是一个输入检查,我没有打扰你