python实现汉诺塔,输出每次移动后三个底座上的盘子分布情况
2019-03-07 19:20
120 查看
版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/wssmiss/article/details/88317664
汉诺塔
(可输出每次移动后三个底座上的盘子分布情况)
#编写函数,接受一个表示盘子数量的参数和分别表示源,目标,临时底座的参数, #然后输出详细移动步骤和每次移动后三个底座上的盘子分布情况 #类实现 class Pillar: def __init__(self,str,num): self.key=str self.value=num def Hanoi(num,a,b,c): if num==1: a.value-=1 c.value+=1 print(a.key,"->",c.key) print("盘子个数 A:{},B:{},C:{}".format(a.value,b.value,c.value)) else: Hanoi(num-1,a,c,b) Hanoi(1,a,b,c) Hanoi(num-1,b,a,c) def main(): num=eval(input("A上的盘子有:")) a=Pillar('A',num) b=Pillar('B',0) c=Pillar('C',0) Hanoi(num,a,b,c) main()
相关文章推荐
- 【Python】用递归函数简单实现汉诺塔的移动
- 一种分析代金券使用分布情况的方法python实现版(下)
- 给出a-z0-9,在其中选择三个字符组成一个密码,输出全部的情况,程序实现
- 汉诺塔计数 实现输出64个圆盘移动多少次 java代码
- 一种分析代金券使用分布情况的方法python实现版(上)
- python实现:分别采用递归方法与动态规划算法实现“币值最大化问题”和“找零问题”。要求动态地调整两个问题的规模,记录程序运行时间。绘制曲线图比较在相同规模n情况下采用递归方式和动态规划实现的效率
- python3----基础 用while循环+iter()+next() 实现对字符串的遍历与输出
- python实现简单问题(汉诺塔、杨辉三角等)
- Python 提取dict转换为xml/json/table并输出的实现代码
- 图解汉诺塔,用Python实现经典递归
- 递归实现汉诺塔问题(python)
- python中for/else组合实现素数的输出
- python递归实现汉诺塔
- 用For循环实现Python下的花样对称输出
- Python基于pygame实现图片代替鼠标移动效果
- python实现对指定字符串补足固定长度倍数分组输出
- 如何在MAC机器中实现移动设备WiFI上网(没有专门的无线路由器的情况)
- JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
- 实现三个整数数a,b,c的比较大小,并且按大到小的顺序输出
- 飘逸的python - 实现一个pretty函数美丽的输出嵌套字典