python 高淇400 练习 遇到的问题:一直在思考怎么打出 1+1/2+2/3+...+n/n+1 最终得出join()用"+"将它们拼接起来,感觉还有更好的方法,但是暂时不知道了。
# 1.计算结果
def plus(a):
if a==0 :
return 1
else:
return a/(a+1)+plus(a-1)
# 2.打印数列
n = int(input('请输入一个大于零的整数:'))
c = ['1']
for i in range(1,n+1):
b = ('{0}/{1}'.format(i,i+1))
c.append(b)
s = '+'.join(c) #s = '{}+{}'.format(s, c[i])
# 3.最终
result = "{:.2f}".format(plus(n)) #保留两位小数
print('m({})={}={}'.format(n,s,result))
eg. 请输入一个大于零的整数:7
m(7)=1+1/2+2/3+3/4+4/5+5/6+6/7+7/8=6.28