python初学 汉诺塔攻略实现
2015-09-02 22:22
477 查看
print('智商太低,汉诺塔玩不过去只好写个作弊器了....') #解决思路就是n个盘子,先把最底层之上的盘子移到中间那个杆子里面,即n-1个盘子移动到y(利用z杆子),把最底下的盘子移动到z杆子,再把y杆子上面 #n-1个盘子移动到z杆子即可(利用x杆子) def zuobiqi(n,x,y,z): if n==1: print(x,'->',z) else: zuobiqi(n-1,x,z,y)#将n-1个盘子从x移动到y处,中间借用盘子z print(x,'->',z)#将最底下的盘子移动到z处 zuobiqi(n-1,y,x,z)#将剩下的n-1个盘子移动到z处 n=int(input("你告诉我汉诺塔中有几个盘子: ")) print('下面就是答案!!!') zuobiqi(n,'x','y','z')
递归思想实现,运行结果如下:
智商太低,汉诺塔玩不过去只好写个作弊器了....就尝试了下7个盘子少有人完成的难度
你告诉我汉诺塔中有几个盘子: 7
下面就是答案!!!
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
x -> y
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
y -> z
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
x -> y
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
z -> x
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
x -> y
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
y -> z
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
z -> x
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
y -> z
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
x -> y
z -> y
z -> x
y -> x
z -> y
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
y -> x
z -> y
z -> x
y -> x
y -> z
x -> z
x -> y
z -> y
x -> z
y -> x
y -> z
x -> z
相关文章推荐
- 在ArcGIS中创建Python工具(二)
- Python核心编程-练习
- Python游戏服务器开发日记(六) 解决GIL难题!——Python再认识
- Python游戏服务器开发日记(五)skynet_messagequeue和skynet_timer
- python做全文检索引擎
- python实现去除文本中的中文符号和英文符号
- 把Edit with Sublime Text加入右键菜单
- PEP8 Python 编码规范
- 初学python,模拟转账
- Python open()函数文件打开、读、写基础操作
- Python open()函数文件打开、读、写基础操作
- python 线程
- 《机器学习实战》笔记之二——K-近邻算法
- Python Tkinter 简单登录界面
- python3.3l连接mysql
- 【window10下python的对elcel表格操作xlrd和xlwt模块的下载与安装及基本的使用】
- Python Tkinter Checkbutton的使用
- Python Tkinter Entry和Text的添加与使用
- python 实现目录的递归复制
- (三)处理数据列表