汉诺塔的移动可以用递归函数非常简单地实现。
请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法,例如:
def hannuota(n, x, y, z):
if n == 1:
print(x, '-->', z)
else:
hannuota(n-1, x, z, y) # 将前n-1的盘子从x移动到y上
print(x, '-->', z) # 将最底下的最后一个盘子从x移动到z上
hannuota(n-1, y, x, z) # 将y上的n-1的盘子移动到z上
if __name__ == '__main__':
n = int(input('请输入汉诺塔的层数:'))
hannuota(n, 'A', 'B', 'C')