def Hanoi(layer,fr,to,middle): while (layer >=1): Hanoi(layer-1,fr,middle,to) move(fr,to) Hanoi(layer-1,middle,to,fr) def move(from,to): print 'move disk from %s to %s' %(fr,to)