编写一个不使用任何函数来估计数学常数 e 的程序

乌古尔

编写一个程序,通过使用公式来估计数学常数 e 的值 [注意:您的程序可以在对 10 项求和后停止。]

e = 1 + 1/1!+ 1/2!+ 1/3!+ ...

我是编程语言的新手,正在尝试自己学习 Python。这个问题之前已经被问过和回答过,但我正在寻找一个没有任何函数或模块的解决方案,我只想使用 while 或 for 循环。

编辑:这是我为计算阶乘而编写的代码:

n = 0
factorial = 1
n = raw_input( "Enter a positive integer: ")
n = int(n)
while n < 0:
    print "Enter a POSITIVE integer: "
backup = n
backup = int(backup)
while n != 0:
    factorial *= n
    n -= 1
print "%d!= %d" % (backup, factorial)

这对你们大多数人来说可能很有趣,但这是我为这个问题编写的代码,但最终出现了语法错误:

accuracy = 1
factorial = 1
counter = 1
e = 1.0

accuracy = raw_input( "Enter desired accuracy of e: ")
accuracy = int (accuracy)

while (counter <= (accuracy - 1))
    factorial = factorial * counter
    e = e + ( 1 / float(factorial))
    counter += 1

print "Constant e is: ", e
乔伊登

您的第一步是编写阶乘函数。这可以递归完成或使用 for 循环:

def factorial(n):
    return 1 if n < 2 else n * factorial(n-1)

或者:

def factorial(n):
    x = 1
    for i in range(2, n+1):
        x *= i
    return x

然后为了计算,e我们可以再次使用递归或 for 循环。此函数采用一个参数,该参数指示它应该评估公式中的多少项(因此您应该10在您的情况下调用)。

def calc_e(t):
    if not t:
        return 0
    else:
        return 1 / factorial(t-1) + calc_e(t-1)

或者:

def calc_e(t):
   s = 0
   for i in range(t):
       s += 1 / factorial(i)
   return s

他们都工作:

>>> calc_e(1)
1.0
>>> calc_e(2)
2.0
>>> calc_e(3)
2.5
>>> calc_e(4)
2.6666666666666665
>>> calc_e(5)
2.708333333333333
>>> calc_e(10)
2.7182815255731922
>>> calc_e(20)
2.7182818284590455

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Java中的Leibniz系列编写一个程序来估计PI(π)

来自分类Dev

编写一个程序,它的交流字母“e”和使用`replace`方法在一个字符串中的“o”

来自分类Dev

编写一个困的小程序,该程序从命令行获取循环计数

来自分类Dev

编写一个程序来查找两个数字的余数,而不使用%运算符?在Java中

来自分类Dev

编写一个解决这个数学方程的 JS 程序

来自分类Dev

编写一个简单的程序以使用堆栈

来自分类Dev

如何为使用OWIN,SignalR和Selenium / Protractor的Web应用程序进行E2E测试-我只能通过第一个测试

来自分类Dev

如何为使用OWIN,SignalR和Selenium / Protractor的Web应用程序进行E2E测试-我只能通过第一个测试

来自分类Dev

Java程序-编写一个程序,使用称为circleArea的方法来计算圆的面积

来自分类Dev

试图编写一个程序来计算5次多项式和一个常数的多项式的根

来自分类Dev

当我编译我的第一个Shogun程序时,“ svn:E175012:连接超时”

来自分类Dev

是否有可能编写一个可以找到某个函数零的程序?

来自分类Dev

编写一个程序对2个数字求和

来自分类Dev

如何在不使用map reduce的情况下使用Python编写单词计数程序

来自分类Dev

Python:编写一个程序,对正负数进行计数,并计算数字的平均值

来自分类Dev

如何编写一个简单的LC-3程序

来自分类Dev

如何编写一个程序以获得所需的输出?

来自分类Dev

编写一个忽略操作顺序的 C 程序?

来自分类Dev

E0405: 提交请求没有任何应用程序或库路径

来自分类Dev

在两个单独的角度应用程序之间切换时,AngularJS e2e测试挂起

来自分类Dev

编写一个通用实用程序,可以从 javascript 中的任何数组中删除重复项

来自分类Dev

用C编写一个程序以使用函数显示n个偶数和奇数自然数项及其和

来自分类Dev

当我使用e2e运行它时,在我的应用程序登录时弹出

来自分类Dev

程序以状态!= 0(set -e)退出后执行EXIT陷阱时的Bash函数作用域状态

来自分类Dev

如何编写一个最大化物理RAM使用率的程序?

来自分类Dev

我想编写一个程序来使用WINAPI控制正方形的移动

来自分类Dev

使用读写操作编写一个简单的杂项char设备驱动程序

来自分类Dev

创建了一个python程序来估计旅行时间并出现错误

来自分类Dev

在Python中使用命令`osascript -e'退出应用程序“ Quicktime Player 7”

Related 相关文章

  1. 1

    使用Java中的Leibniz系列编写一个程序来估计PI(π)

  2. 2

    编写一个程序,它的交流字母“e”和使用`replace`方法在一个字符串中的“o”

  3. 3

    编写一个困的小程序,该程序从命令行获取循环计数

  4. 4

    编写一个程序来查找两个数字的余数,而不使用%运算符?在Java中

  5. 5

    编写一个解决这个数学方程的 JS 程序

  6. 6

    编写一个简单的程序以使用堆栈

  7. 7

    如何为使用OWIN,SignalR和Selenium / Protractor的Web应用程序进行E2E测试-我只能通过第一个测试

  8. 8

    如何为使用OWIN,SignalR和Selenium / Protractor的Web应用程序进行E2E测试-我只能通过第一个测试

  9. 9

    Java程序-编写一个程序,使用称为circleArea的方法来计算圆的面积

  10. 10

    试图编写一个程序来计算5次多项式和一个常数的多项式的根

  11. 11

    当我编译我的第一个Shogun程序时,“ svn:E175012:连接超时”

  12. 12

    是否有可能编写一个可以找到某个函数零的程序?

  13. 13

    编写一个程序对2个数字求和

  14. 14

    如何在不使用map reduce的情况下使用Python编写单词计数程序

  15. 15

    Python:编写一个程序,对正负数进行计数,并计算数字的平均值

  16. 16

    如何编写一个简单的LC-3程序

  17. 17

    如何编写一个程序以获得所需的输出?

  18. 18

    编写一个忽略操作顺序的 C 程序?

  19. 19

    E0405: 提交请求没有任何应用程序或库路径

  20. 20

    在两个单独的角度应用程序之间切换时,AngularJS e2e测试挂起

  21. 21

    编写一个通用实用程序,可以从 javascript 中的任何数组中删除重复项

  22. 22

    用C编写一个程序以使用函数显示n个偶数和奇数自然数项及其和

  23. 23

    当我使用e2e运行它时,在我的应用程序登录时弹出

  24. 24

    程序以状态!= 0(set -e)退出后执行EXIT陷阱时的Bash函数作用域状态

  25. 25

    如何编写一个最大化物理RAM使用率的程序?

  26. 26

    我想编写一个程序来使用WINAPI控制正方形的移动

  27. 27

    使用读写操作编写一个简单的杂项char设备驱动程序

  28. 28

    创建了一个python程序来估计旅行时间并出现错误

  29. 29

    在Python中使用命令`osascript -e'退出应用程序“ Quicktime Player 7”

热门标签

归档