ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python练习题4.13求误差小于输入值的e的近似值

2020-04-20 19:53:18  阅读:741  来源: 互联网

标签:练习题 输出 4.13 ei Python sum print 输入 jc


自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。ei代表前i项求和。输入误差范围error,当
ei+1-ei<error,则表示e的近似值满足误差范围。

输入格式:

在一行输入误差范围。

输出格式:

在一行输出e的近似值(保留6位小数)。

代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

#这个比阶乘多了个1,就说怎么看起来怪怪的。
def jc(n):
    sum = 1
    for i in range(3,n+1):
        sum = sum * (i-1)
    return sum

#定义自然常数e的方法,ei方法
def e(n):
    sum = 0
    for i in range(1,n+1):
        sum += 1/jc(i)
    return sum

#print(jc(n))
#print(e(n))

j = float(input())
n = 0
while True:
    n += 1
    if e(n+1) - e(n) < j:
        #这里应该输出e(n)的喔,但是测试结果是e(n-1)才正确
        print("{:.6f}".format(e(n+1)))
        break

这个程序根本上不是很难。如果学习了函数定义方法,很简单的。拆解程序,先做啥,在做啥,一步一步,程序就很简单了,看起来结构也清晰明了。

1、定义分母方法。

2、求ei的值。

3、比较输出。

这个题目属于第四章,应该是考察的while、for循环和if判断。但是如果只用这几个的话,可能程序会很复杂。(*^__^*) 嘻嘻


读书和健身总有一个在路上

标签:练习题,输出,4.13,ei,Python,sum,print,输入,jc
来源: https://www.cnblogs.com/Renqy/p/12739983.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有