本次代码使用递归的方法,列出汉诺塔每一步应该走的具体路线,希望对各位有所帮助,源代码如下:
#num代表汉诺塔上的总盘子数,a,b,c代表汉诺塔上面的三根柱子,其中a代表源柱子,c代表目标柱子
def hanoi(num,a,b,c):
if num == 1: #当只有一个盘子的时候,直接从a柱子移动到c柱子
print(a,'-->',c)
else:
hanoi(num-1,a,c,b) #将前面n-1个盘子从x移动到y上
print(a,'-->',c) #将最底下的最后一个盘子从x移到z上
#将y上的n-1个盘子移动到z上
hanoi(num-1,b,a,c) #将y上的n-1个盘子移动到z上
num = int(input('请输入汉诺塔的层数:'))
hanoi(num,'a','b','c')