In [5]:
pi = 1
for i in range(1, 1000):
    pi = pi * 4. * i ** 2. / (4. * i ** 2. - 1.)

print pi * 2


3.14080696083

In [1]:
pi = 1.
dpi = 1
i = 1
precision = 0.00000000001
while dpi > precision:
    pi2 = pi * 4. * i ** 2. / (4. * i ** 2. - 1.)
    dpi = pi2 - pi
    pi = pi2
    i += 1

print i, pi * 2


198168 3.14158869029

In [7]:
import numpy as np

ii = np.arange(1, 100000)
pp = 4. * ii ** 2. / (4. * ii ** 2. - 1.) 
print 2 * pp.prod()


3.14158479958

In [ ]: