Simon Willison’s Weblog

Subscribe

Python for teaching mathematics

13th September 2003

Kirby Urner provides some great examples of how Python can be used as an aid to understanding mathematics on the marketing-python mailing list. I particularly liked this demonstration of Pascal’s triangle using Python generators:

 >>> def pascal():
         row = [1]
         while True:
            yield row
            row = [i+j for (i,j) in zip([0] + row, row + [0])]


  >>> gen = pascal()
  >>> for i in range(10):
            print gen.next()


  [1]
  [1, 1]
  [1, 2, 1]
  [1, 3, 3, 1]
  [1, 4, 6, 4, 1]
  [1, 5, 10, 10, 5, 1]
  [1, 6, 15, 20, 15, 6, 1]
  [1, 7, 21, 35, 35, 21, 7, 1]
  [1, 8, 28, 56, 70, 56, 28, 8, 1]
  [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]

This is Python for teaching mathematics by Simon Willison, posted on 13th September 2003.

Next: Curious emails

Previous: Listutorial

Previously hosted at http://simon.incutio.com/archive/2003/09/13/pythonMaths