[Edu-sig] followup to older post... re Pi generator
kirby urner
kirby.urner at gmail.com
Tue Sep 29 19:03:06 CEST 2015
Wow, I never even guessed Guido had anything to do with this code. The
world shrinks again!
Fun!
Kirby
On Tue, Sep 29, 2015 at 9:41 AM, Tim Peters <tim.peters at gmail.com> wrote:
> Copying Guido because he's the actual original author of this code. I
> remember it being in a very early intro to Python, which I can't find
> now. And it used to be included in a Python distribution's Demo
> directory. But, e.g., you can see it in this mailing list message
> from Guido in 1994, during an early discussion of what eventually
> became Python's generators. Guido, do you remember where this
> algorithm came from?
>
> http://legacy.python.org/search/hypermail/python-1994q2/0429.html
> scroll down to point "6)"
>
> [kirby urner <kirby.urner at gmail.com>]
> > I'm still interested in finding more bibliographic sources for this one,
> not
> > necessarily in Python syntax i.e. did Euler come up with this or who?
> >
> >
> > def pi_digits():
> >
> > k, a, b, a1, b1 = 2, 4, 1, 12, 4
> > while True:
> > p, q, k = k*k, 2*k+1, k+1
> > a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
> > d, d1 = a/b, a1/b1
> > while d == d1:
> > yield int(d)
> > a, a1 = 10*(a%b), 10*(a1%b1)
> > d, d1 = a/b, a1/b1
> >
> > [ http://mail.python.org/pipermail/edu-sig/2012-December/010728.html ]
> >
> >>>> pi = pi_digits()
> >>>> "".join([str(next(pi)) for i in range(100)]))
> >
> '3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067'
> >
> > ... so far what we know is some high school student handed it in for
> > homework.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20150929/71bda765/attachment.html>
More information about the Edu-sig
mailing list