用python求。根据公式e=1+1/1!+1/2!+..1/n 求e的近似值?

根据公式e=1+1/1!+1/2!+..1/n! 求e的近似值,当1/n!小于等于0.000001时停止,程序如图,为什么运行不出结果,应该如何修改

#计算e的值(精度为10**-6)

sum,tmp = 1,1

for i in range(1,20);

tmp*=i;

 sum += 1/tmp;

print("e的近似值(精度为10**-6)为%.6f"%sum)

输出结果是2.718282;

扩展资料:

Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。

ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。

就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-20
因为求这个字母一的和在一定程度上你可以看出各个加数之间是有相同的规律的直接用代或者是归纳法就可以求出来了
第2个回答  2019-12-20
你对两个函数都没有对0进行规避。
然后for i in range(10000):

这个是i首先就是0,所以你肯定得不到答案的。
还有,你应该把break放到print下面去,然后你这个求e的公式好像也不太对吧。本回答被提问者采纳
第3个回答  2019-12-20
楼主弄复杂了
请看
#encoding=utf-8

t = 1.0
i = 1.0
e = 1
while t > 0.000001:
t = t/i
e = e + t
i = i+1
print('%d,%.6f' % (i,e))
结果是
11,2.718282
第4个回答  2019-12-20
5 用python求。根据公式e=1+1/1!+1/2!+..1/n 求e的近似值?
相似回答