python计算1+1/2+1/3+...+1/n

不要使用循环语句精确到小数点后6胃怎么做啊?重点::不要使用循环语句是不是有什么方法啊老板的指示,懂了就不问了。。。... 不要使用循环语句 精确到小数点后6胃 怎么做啊?
重点::不要使用循环语句 是不是有什么方法啊
老板的指示,懂了就不问了。。。
展开
 我来答
flyingzl
2009-09-23 · TA获得超过218个赞
知道小有建树答主
回答量:268
采纳率:100%
帮助的人:228万
展开全部
这个没有循环,虽然内部是存在循环的。不过用的是内置函数,速度很快

print "%0.6f" %reduce(lambda x,y:x+1.0/y,range(1,101))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mirguest
2009-09-23 · TA获得超过364个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:310万
展开全部
>>> n=1.0
>>> s=0.0
>>> while(n<=100):
s=s+1/n
n=n+1
>>> s
5.1873775176396206

不使用循环很难吧?你认为该用什么呢?

原来是递归啊,失败。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cb82e02
2009-09-22 · TA获得超过347个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:150万
展开全部
用递归啊。。。
def count (i, j):
x = float(i) + float(1)
y = j + float(1)/x
if int(x) < 100:
count(int(x),y)
else:
print '%0.6f' % y
if __name__ == '__main__':
result = count(0,0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niuxiaofeiyyn
2009-10-04
知道答主
回答量:14
采纳率:0%
帮助的人:10.5万
展开全部
num=int(raw_input("input a number:"))
print "The sum:",round(reduce(lambda x,y: x+1.0/y,range(1,num+1)),6)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyrebaby
2009-10-02
知道答主
回答量:17
采纳率:0%
帮助的人:17.1万
展开全部
你们老板简直就是故意为难你!
你可以那个if的程序去恶心他。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式