递归-汉诺塔

#A:起始,B:中间,C:最后
count=0
def hanoi(n,A,B,C):
global count
if n==1:
print("{}:{}->{}".format(1,A,C))
count+=1
else:
hanoi(n-1,A,C,B) #将前n-1个盘子从A移动到B上
print("{}:{}->{}".format(n,A,C)) #将最底下的最后一个盘子从A移动到C上,同一个级别下上一条语句内执行的参数变化,不影响下一条变量。或变量没有重新赋值?
count+=1
hanoi(n-1,B,A,C) #将B上的n-1个盘子移动到C上
hanoi(4,"A","B","C")
print(count)
posted @ 2019-07-25 08:02  板岩  阅读(135)  评论(0编辑  收藏  举报