用Python编写汉诺塔游戏

来源于百度百科图中有八个圆盘,我们如果想要将八个圆盘从A移到C上,而且一直要使小盘在上,一次只能移动一个圆盘,我们如何使用三个柱子来转移呢?
在这里插入图片描述我们可以通过这种规律,利用递归的方法,将柱子从A移到C。

def hannoi(n,a,b,c):
	if n==1:
		print(a,"-->",c)
	else:
		hannoi(n-1a,c,b)#将上面的(n-1)盘子从a移到b
		print(a,'-->',c)#将最后一个盘子从a移到c
		hannoi(n-1,b,a,c)#将b中的盘子从b移到c
t=int(input("请输入汉诺塔的层数:"))
hannoi(t,'A','B','C')

#输出
请输入汉诺塔的层数:3
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C
A --> B
A --> C
B --> C
发布了14 篇原创文章 · 获赞 0 · 访问量 292

猜你喜欢

转载自blog.csdn.net/lhyhaiyan/article/details/104443244