汉诺塔的移动函数

汉诺塔
的移动:

用Python编写move(n, a, b,c)函数,接收参数n,n表示3个柱子A、B、C中第1个柱子A的盘子数量,打印出把所有盘子从A借助B移动到C的方法


#期待输出:

#A –> C

#A –> B

#C –> B

#A –> C

#B –> A

#B –> C

#A –> C

move(3,’A’, ‘B’, ‘C’)

  1. 把不是最下面的盘子都经过C移到B
  2. 把最下面的移动到C
  3. 把移动到B的盘子都经过A移动到C

代码:

def move(n,a,b,c):
	if n == 1:
		print(a,'-->',c)       #递归结束条件
	else:
		move(n-1,a,c,b)        #将n-1块移动至b
		move(1,a,b,c)          #将最大那块移动至c
		move(n-1,b,a,c)        #从n-1块开始,ab参数位置对调 

n = int(input('请输入第一个柱子A的盘子数量:'))
print('n=%d时的移动路线:'%n)
move(n,'A','B','C')

    原文作者: 汉诺塔问题
    原文地址: https://blog.csdn.net/qq_35705269/article/details/75453655
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞