[Tutor] How to calculate pi with another formula?

Kent Johnson kent_johnson at skillsoft.com
Sat Oct 30 03:04:12 CEST 2004


Download the reference implementation from the PEP: 
http://www.python.org/peps/pep-0327.html#reference-implementation

PEPs are Python Enhancement Proposals. Any change to the Python language or 
the standard libraries is written up as a PEP. Library changes often have 
reference implementations so people can try them out.

Kent

At 04:54 PM 10/29/2004 -0400, Isr Gish wrote:
>How can I get the Decimal module without downloading the whole install for 
>Python 2.4
>
>All the best,
>Isr
>
>
>-----Original Message-----
>    >From: "Gregor Lingl"<glingl at aon.at>
>    >Sent: 10/29/04 2:27:11 PM
>    >To: "Dick Moores"<rdm at rcblue.com>
>    >Cc: "tutor at python.org"<tutor at python.org>
>    >Subject: Re: [Tutor] How to calculate pi with another formula?
>      >Hi Dick!
>    >
>    >Accidentally I just was tinkering around with the new
>    >decimal module of Python2.4. (By the way: it also works
>    >with Python 2.3 - just copy it into /Python23/Lib)
>    >
>    >The attached program uses a very elementary (and inefficient)
>    >formula to calculate pi, namely as the area of a 6*2**n-sided
>    >polygon (starting with n=0), inscribed into a circle of radius 1.
>    >(Going back to Archimedes, if I'm right ...)
>    >
>    >Nevertheless it calculates pi with a precision of (nearly)
>    >100 digits, and the precision can be  arbitrarily enlarged.
>    >In the output of this program only the last digit is not correct.
>    >
>    >import decimal
>    >
>    >decimal.getcontext().prec = 100
>    >
>    >def calcpi():
>    >    s = decimal.Decimal(1)
>    >    h = decimal.Decimal(3).sqrt()/2
>    >    n = 6
>    >    for i in range(170):
>    >        A = n*h*s/2  # A ... area of polygon
>    >        print i,":",A
>    >        s2 = ((1-h)**2+s**2/4)
>    >        s = s2.sqrt()
>    >        h = (1-s2/4).sqrt()
>    >        n = 2*n
>    >
>    >calcpi()
>    >
>    >Just for fun ...
>    >
>    >Gregor
>    >
>    >
>    >Dick Moores schrieb:
>    >
>    >> Is it possible to calculate almost-pi/2 using the (24) formula on
>    >> <http://mathworld.wolfram.com/PiFormulas.html> without using (23)?
>    >>
>    >> If it's possible, how about a hint? Recursion?
>    >>
>    >> Thanks, tutors.
>    >>
>    >> Dick Moores
>    >> rdm at rcblue.com
>    >>
>    >> _______________________________________________
>    >> Tutor maillist  -  Tutor at python.org
>    >> http://mail.python.org/mailman/listinfo/tutor
>    >>
>    >>
>    >_______________________________________________
>    >Tutor maillist  -  Tutor at python.org
>    >http://mail.python.org/mailman/listinfo/tutor
>    >
>
>_______________________________________________
>Tutor maillist  -  Tutor at python.org
>http://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list