【发布时间】:2019-10-29 04:06:20
【问题描述】:
在函数fp中,我基本上是在检查连续递归调用的参数之间的差异是否小于某个数字,如果是,我想返回最后一个参数。代码如下:
pX = []
for n in range(100):
pX.append(1/((n+1)*(n+2)))
def phi1(p):
def phi2(u):
sum = 0
for k in range(len(p)):
sum += p[k]*(u**k)
return sum
return phi2
def fp(pt):
temp = phi1(pX)(pt)
print(temp)
if(abs(pt-temp) > 0.01):
fp(temp)
else:
return temp
print(fp(0.1))
没有print(temp)的输出是none,有print(temp)的输出是:
0.5175535907956329
0.619369692490415
0.6561427816319753
0.6714277125785142
0.6781654579021761
None
所需的输出是 0.678。我可以知道我哪里出错了吗?
【问题讨论】:
标签: python-3.x recursion return-value