Python使用函数模拟“汉诺塔”过程

泄露秘密 提交于 2019-12-04 02:15:17

运行效果:

 

 源代码:

 1 # -*- coding:utf-8 -*-
 2 ##汉诺塔游戏开始
 3 _times=0 #用于统计移动次数
 4 def hannuota(nlist,mfrom,mpass,mto):
 5     global _times
 6     n=len(nlist)
 7     if n==1:
 8         _times+=1
 9         print('%-8d'%_times,nlist[0],':',mfrom,'--------->',mto)
10     else:
11         hannuota(nlist[:n-1],mfrom,mto,mpass)
12         hannuota([nlist[-1]],mfrom,mpass,mto)
13         hannuota(nlist[:n-1],mpass,mfrom,mto)
14 
15 
16 if __name__=='__main__':
17     print("模块独立自运行测试输出:")
18     print("二、3阶汉诺塔模拟过程如下:")
19     print('step   num:from-------->to')
20     hannuota([0,1,2],'A','B','C')

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!