defhanoi(n, x, y, z):if n ==1:print(x,"-->", z)else:
hanoi(n-1, x, y, z)#将前n-1个盘子从x移动到y上print(x,"-->",z)#将x最底下的一个盘子移动到z上
hanoi(n-1, y, x, z)#将y上的n-1个盘子移动到z上
n =int(input("输入汉诺塔的层数:"))
hanoi(n,"x","y","z")
汉诺塔解题攻略递归算法递归运用条件:(1)每次需要调用自身(2)有函数出口实现Python代码def hanoi(n, x, y, z): if n == 1: print(x, "-->", z) else: hanoi(n-1, x, y, z)#将前n-1个盘子从x移动到y上 print(x, "-->" ,z)#将x最底下的一个盘子移动到z上