2020-08-08
程序员文章站
2022-03-23 15:34:34
最近在学python,学到了递归,里面讲了一个叫做汉诺塔的游戏,用到递归来实现 代码如下:def hanoi(n,x,y,z):#我们这里假设有64个盘子(x表示第一个柱子,y是第二个柱子,z是第三个柱子) if n == 1 : print(x,'-->',z) #如果只有一层,直接从x移到z else : hanoi(n-1,x,z,y)#将n-1个盘子从x移到y print(x,"-->",z)#将最底下的第64个盘子从x移...
最近在学python,学到了递归,里面讲了一个叫做汉诺塔的游戏,用到递归来实现 代码如下:
def hanoi(n,x,y,z):#我们这里假设有64个盘子(x表示第一个柱子,y是第二个柱子,z是第三个柱子)
if n == 1 :
print(x,'-->',z) #如果只有一层,直接从x移到z
else :
hanoi(n-1,x,z,y)#将n-1个盘子从x移到y
print(x,"-->",z)#将最底下的第64个盘子从x移到z上
hanoi(n-1,y,x,z)#将y上的63个盘子移到z上
n=int(input('请输入汉诺塔的层数:'))
hanoi(n,'X','Y','Z')
这个过程我不是很理解,卡在这好几天了,有没有大神能用简单易懂的话教一下我
(来自一只刚入门的小白的求助)
本文地址:https://blog.csdn.net/m0_47140196/article/details/107886441