源代码如下:
def hanoi(n, x, y, z):
if n == 1:
print(x, '----->', z)
else:
hanoi(n-1, x, z, y) # 将前 n-1 个盘子通过 z ,从 x 移动到 y 上
print(x, '----->', z) # 将最底下的一个盘子,从 x 移动到 z 上
hanoi(n-1, y, x, z) # 将前 n-1 个盘子通过 x,从 y 移动到 z 上
hanoi(3, 'X', 'Y', 'Z')
运行结果如下:
X -----> Z
X -----> Y
Z -----> Y
X -----> Z
Y -----> X
Y -----> Z
X -----> Z