Python 2.2 (#1, May 14 2002, 18:23:13) [GCC 2.95.3 20010315 (SuSE)] PyShell 1.3 [In 5]: import turtle [Out 5]: [In 12]: def hexagons(l, iter): if iter == 0: f = lambda l=l:p.forward(l) else: f = lambda l=l/2., i=iter-1:hexagons(l, i) p.left(60) for i in range(6): f() p.right(60) p.right(60) p.up() p.forward(2*l) p.down() def make_hexagons(l ,iter): p.up() p.backward(l) p.down() hexagons(l, iter) [Out 12]: > [In 13]: def squares(l, iter): if iter == 0: f = lambda l=l:p.forward(l) else: f = lambda l=l/2., i=iter-1: squares(l,i) for i in range(4): f() p.right(90) p.up() p.forward(2*l) p.down() def make_squares(l, iter): p.up() p.left(90) p.forward(l/2.) p.right(90) p.backward(l/2.) p.down() squares(l, iter) [Out 13]: [In 14]: from Numeric import sin [Out 14]: [In 15]: def func(x,y): c = sin(x + y*1j) return c.real, c.imag [Out 15]: [In 28]: p = turtle.create_pen(doc) [Out 28]: [In 29]: p.set_function(func) [Out 29]: [In 30]: import math [Out 30]: [In 27]: make_squares(math.pi, 3) [Out 27]: [In 32]: # this takes a while make_hexagons(math.pi, 3) [Out 32]: >