运行效果:

源代码:

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')

标签:__,Python,mpass,hannuota,汉诺塔,mto,nlist,mfrom,模拟

来源: https://www.cnblogs.com/yijiahao/p/11828071.html

汉诺塔函数python_Python使用函数模拟“汉诺塔”过程相关推荐

  1. math ceil函数python_Python ceil函数

    Python ceil函数 最后更新于:2020-03-29 09:57:36 python ceil 内置函数和 int 函数有点类似,计算的结果都是得到一个整数,向上取整: 一.ceil函数简介 ...

  2. update函数python_python update函数

    在前一篇文章  python ChainMap中我们介绍了关于python内置函数 ChainMap的使用,ChainMap函数和update函数类似,都是对字典操作,也是将多个字典合并,那么问题来了 ...

  3. cycle函数python_Python执行函数的周期实现

    如下python代码是关于Python执行函数的周期实现,需要使用time模块及sched和os模块方法. 首先导入方法模块 #coding=utf-8 import time,sched,os 初始 ...

  4. 分割函数python_python strip() 函数和 split() 函数的详解及实例

    一直以来都分不清楚strip和split的功能,实际上strip是删除的意思:而split则是分割的意思.因此也表示了这两个功能是完全不一样的,strip可以删除字符串的某些字符,而split则是根据 ...

  5. 列表函数python_python 列表函数

    list函数: 功能:将字符创转化为列表,例: 列表基本函数: 1.元素赋值,例: 注意:通过list[0]= 'hel',如果原来位置上有值,会覆盖掉原来的. 2.分片操作 1)显示序列,例: 注意 ...

  6. pow函数python_python pow函数怎么用

    python中的pow函数的功能是计算x的y次幂.本篇文章将带大家一起了解一下,pow()函数在Python中的用法.感兴趣的朋友了解一下. 以下是 math 模块 pow() 方法的语法:impor ...

  7. fmod函数python_python fmod函数_Python numpy.fmod方法代码示例

    本文整理汇总了Python中numpy.fmod方法的典型用法代码示例.如果您正苦于以下问题:Python numpy.fmod方法的具体用法?Python numpy.fmod怎么用?Python ...

  8. 227 用栈模拟汉诺塔问题

    原题网址:https://www.lintcode.com/problem/mock-hanoi-tower-by-stacks/description 描述 在经典的汉诺塔问题中,有 3 个塔和 N ...

  9. python汉诺塔游戏_Python实战:搭建汉诺塔小游戏,快和小伙伴一起玩玩吧

    汉诺塔游戏:看谁能在短时间内将排好顺序的圈,按同样的顺放在另一根柱子上,每次只能动一个. 今天用python搭建汉诺塔小游戏(简约版) 代码亲测有效!源代码如下: #左中右塔用一个列表存储 left ...

  10. c语言递归汉诺塔次数,c语言递归解决汉诺塔参数变化的疑惑

    c语言递归解决汉诺塔参数变化的疑惑 答案:3  信息版本:手机版 解决时间 2020-04-05 14:20 已解决 2020-04-05 10:49 #include void main() {vo ...

最新文章

  1. 使用卷积神经网络进行文本分类textCNN
  2. 【量化交易】组合优化三部曲:换手率和alpha模型换手约束下的最优模型时变IC下的多空/多头最优组合换手率
  3. r语言员工离职_HR,你真的会做员工面谈吗?
  4. zencart产品批量维护系统--视频教程
  5. controller控制器怎么写_I2C控制器编程_框架
  6. 编造机中鼠标无法应用标题问题解答
  7. Python练习:五到七章的练习题
  8. vue 项目加载顺序_如何提高Vue项目首页的加载速度
  9. 20.QT-Qpixmap实现图片鼠标缩放,鼠标拖动示例(详解)
  10. SqlServer得到生日(闰月考虑)
  11. 手把手教你设计数字钟(基于protues8.6)
  12. 无涂层无胶纸(UWF)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. 数据分析之描述性统计分析
  14. vue文件下载及重命名
  15. 2/8法则系列 | 你真的了解二八法则吗?
  16. think-swoole简易使用教程--websocket
  17. Guitar Pro8最新五线谱转六线谱软件
  18. 客户端验证:Validation
  19. Cty的Linux学习笔记(一)
  20. python中command是什么意思_python中command执行shell命令脚本方法

热门文章

  1. 图像融合论文及代码网址整理总结(2)——红外与可见光图像融合
  2. Boxfilter 块滤波器
  3. z-buffer的概念和算法
  4. QT QComBox详细用法 自定义QComboBox控件
  5. 测试PF_RING DNA驱动
  6. Linux下类FreeBSD uprintf实现
  7. python中字符串是对象吗_python中字符串对象提供了很多方法来操作字符串
  8. 安卓手机管理_安卓手机用户大福利,谷歌将改善手机内存管理,运行更流畅
  9. linux中类似append的命令,Linux技巧:介绍 tar 命令打包、压缩、和加解密的用法
  10. win7 64位系统下载