[CrackMonkey] Python Poetry (why indentation?) (fwd)

Deirdre Saoirse deirdre at deirdre.net
Thu Feb 3 10:59:44 PST 2000


Hey, it does!

-- 
_Deirdre   *   http://www.linuxcabal.net   *   http://www.deirdre.net
"Mars has been a tough target" -- Peter G. Neumann, Risks Digest Moderator
"That's because the Martians keep shooting things down." -- Harlan Rosenthal
<Harlan.Rosenthal at Dialogic.com>, retorting in Risks Digest 20.60

---------- Forwarded message ----------
Date: Wed, 02 Feb 2000 23:55:49 +0100
From: Jaap Spies <j.spies at hccnet.nl>
To: "j.spies at hsdrenthe.nl" <j.spies at hsdrenthe.nl>
Newsgroups: comp.lang.python
Subject: Python Poetry (why indentation?)

# Contribution to the forever lasting discussion on indentation!

# After Petrarca, Shakespeare, Milton, Drs. P and many, many others,
# a sonnet has 14 lines and a certain rhyme scheme.

# Jacques Bens presented in 1965 in Paris the pi-sonnet with
# 3,1,4,1 and 5 lines, but the ultimate pi-poem I found in
# Brown's Python Annotated Archives p. 12:

# Based on a algorithm of Lambert Meertens (remember those days of the
# B -> ABC-programming language!!!)

import sys

def main():
    k, a, b, a1, b1 = 2L, 4L, 1L, 12L, 4L
    while 1:
        p, q, k = k*k, 2L*k+1L, k+1L
        a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
        d, d1 = a/b, a1/b1
        while d == d1:
            output(d)
            a, a1 = 10L*(a%b), 10L*(a1%b1)
            d, d1 = a/b, a1/b1

def output(d):
    sys.stdout.write(`int(d)`)
    sys.stdout.flush()

main()

# Reading/writing Python source often gives me the impression of
# reading/writing a poem!
# Layout, indentation, rythm, I like the look and feel!

# What does this tiny program do? It is not a sonnet, even not a
# pi-sonnet, but it surely produces Pi!

# The poem ( sorry, the program) needs some explanation.
# As a mathematician I recognize the continued fraction, odd/even,
# squares and all that matters.
# But it is a miracle! A few lines of Python code producing
# a infinity of pi-digits!


# Jaap Spies
# Hogeschool Drenthe

# Keep Peace in Mind
-- 
http://www.python.org/mailman/listinfo/python-list






More information about the Crackmonkey mailing list