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]:
>


1