w3resource

Python Math: Compute the value of e using infinite series


65. Euler's Number (e) Approximation

Write a Python program to compute the value of e(2.718281827...) using an infinite series.

Sample Solution:

Python Code:

''' 
#https://gist.github.com/thinkphp/1528363

  1 + 1/1! + 1/2! + 1/3! + ...
  2 + 1/2! + 1/3!+ ...
'''
import math

def fact(n):
    if n == 0:
       return 1
    else:
       return n*fact(n-1)

def e(EPS):

    v1 = 2
    v2 = v1 + float(1.0/fact(2))
    i = 3 
    while math.fabs(v1-v2) >= EPS:
          v1 = v2
          v2 += float(1.0/fact(i))
          i += 1
    return v2  

print("The mathematical constant e")
#computes the value of e using infinite series
print(e(0.00000001))
#mathematical constant e build-in
print(math.e)

Sample Output:

The mathematical constant e                                                                                   
2.7182818282861687                                                                                            
2.718281828459045

Flowchart:

Flowchart: Compute the value of e using infinite series

For more Practice: Solve these Related Problems:

  • Write a Python program to approximate Euler's number e using an infinite series, summing terms until the change is less than a specified tolerance.
  • Write a Python function that computes e using a recursive approach and returns the approximate value after n iterations.
  • Write a Python script to compare your computed value of e with math.e and print the absolute difference.
  • Write a Python program to display a convergence table showing the approximate value of e with an increasing number of terms.

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to calculate the volume of a tetrahedron.
Next: Write a Python program to create an ASCII waveform.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.