python编写汉诺塔 Hanoi

#hanoi.py
count = 0
def hanoi(n, src, dst, mid): #src为原1号柱子 dst 目标3号柱子 mid中间2号过渡柱子
  global count #对全局变量count的引用
  if n == 1:
    print("{}:{}->{}".format(1,src,dst))
    count += 1
  else :
    hanoi(n-1, src, mid, dst)
    print("{}:{}->{}".format(n, src, dst))
    count += 1
    hanoi(n-1, mid, dst, src)
hanoi(3, "A", "C", "B")
print("需要{}步".format(count))

三层的运行结果:
在这里插入图片描述

posted @ 2020-04-07 22:14  CoderZjz  阅读(448)  评论(0编辑  收藏  举报