w3resource

Python Math: Compute the value of e using infinite series

Python Math: Exercise-65 with Solution

Write a Python program to compute the value of e(2.718281827...) using 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

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

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 Python skills with w3resource's quiz



Python: Tips of the Day

Python: Get the Key Whose Value Is Maximal in a Dictionary

>>> model_scores = {'model_a': 100, 'model_z': 198, 'model_t': 150}
>>> # workaround
>>> keys, values = list(model_scores.keys()), list(model_scores.values())
>>> keys[values.index(max(values))]
'model_z'
>>> # one-line
>>> max(model_scores, key=model_scores.get)
'model_z'