范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

汉诺塔pythonturtle递归可视化

  1 说明
  =====
  1.1 汉诺塔:(又称河内塔)问题是源于印度一个古老传说的益智玩具。
  1.2 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
  1.3 用python3.8的turtle来实现递归可视化。
  2 效果图
  3 感谢
  =====
  3.1 代码来源https://blog.csdn.net/beerbread134/article/details/69226991?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-2.nonecase
  3.2 对源代码进行修改,增加,注释,改进;顺带复习python和turtle的相关知识。
  4 代码讲解HanoiTower.py
  ===================
  4.1 第1和第2步#第1步:导入模块 import turtle  #第2步:初始化汉诺塔的层数 n=int(input("请输入汉诺塔的层数并回车: "))
  4.2 第3步:堆砌stack类的设置#第3步:堆砌stack功能函数:python类的复习 class Stack:     #初始化     def __init__(self):         self.items = []     #柱子空的函数     def isEmpty(self):         return len(self.items) == 0     #往外推push     def push(self, item):         self.items.append(item)     #跳跃     def pop(self):         return self.items.pop()     #往上放     def peek(self):         if not self.isEmpty():             return self.items[len(self.items) - 1]     #大小     def size(self):         return len(self.items)
  4.3 第4步:画3根固定的柱子#第4步:画出汉诺塔的柱子:poles def drawpole_bar():     t = turtle.Turtle()     t.hideturtle()     #柱子的颜色     t.color("red")     def drawpole_bar(k):         t.up()         t.pensize(10)         t.speed(100)         t.goto(400*(k-1), 100)         t.down()         t.goto(400*(k-1), -100)         t.goto(400*(k-1)-20, -100)         t.goto(400*(k-1)+20, -100)      drawpole_bar(0)#画出汉诺塔的poles[0]     drawpole_bar(1)#画出汉诺塔的poles[1]     drawpole_bar(2)#画出汉诺塔的poles[2]
  4.4 画盘子,即层数有关的#第5步:画盘子disk==plates #汉诺塔的层数 def creat_plates(n):#制造n个盘子     plates=[turtle.Turtle() for i in range(n)]     for i in range(n):         plates[i].up()         #盘子的颜色设置         plates[i].color("green")         plates[i].hideturtle()         plates[i].shape("square")         plates[i].shapesize(1,8-i)         plates[i].goto(-400,-90+20*i)         plates[i].showturtle()     return plates
  4.5 第6和第7步,堆砌和移动的函数#第6步:#制造poles的堆砌stack的栈 def pole_stack():     #调用stack这个大类     poles=[Stack() for i in range(3)]     return poles  #第7步:#把poles[fp]顶端的盘子plates[mov]从poles[fp]移到poles[tp] def moveDisk(plates,poles,fp,tp):     mov=poles[fp].peek()     plates[mov].goto((fp-1)*400,150)     plates[mov].goto((tp-1)*400,150)     l=poles[tp].size()#确定移动到底部的高度(恰好放在原来最上面的盘子上面)     plates[mov].goto((tp-1)*400,-90+20*l)
  4.6 递归实现#第8步:#递归放盘子 def moveTower(plates,poles,height,fromPole, toPole, withPole):     if height >= 1:         moveTower(plates,poles,height-1,fromPole,withPole,toPole)         moveDisk(plates,poles,fromPole,toPole)         poles[toPole].push(poles[fromPole].pop())         moveTower(plates,poles,height-1,withPole,toPole,fromPole)
  4.7 #第9步:turtle窗口的设置和函数调用 #实例化 myscreen=turtle.Screen()  #窗口标题名 #myscreen.title("汉诺塔层数:{:.1f}".format(n)) #浮点数 myscreen.title("汉诺塔层数:%d"%(n)) #整数  #背景颜色设置               myscreen.bgcolor("lightblue") #调用本地函数画柱子 drawpole_bar() #调用本地函数画盘子 plates=creat_plates(n) #调用本地函数,堆砌盘子 poles=pole_stack() #4次 for i in range(n):     poles[0].push(i) #调用本地函数移动盘子 moveTower(plates,poles,n,0,2,1) #点击窗口的关闭符号,进行关闭 myscreen.exitonclick()
  自己整理并分享。

关注儿童心理健康对孩子一生有益儿童期是一个人的人格个性价值体系习惯行为模式等个人素质形成的初期。所以对孩子的成长,家长不要局限于在长身体,长知识的层面,要保障孩子健康快乐成长,关注心理健康也是非常重要的环节。经中小学教育需要什么样的评价指挥棒中小学教育需要什么样的评价指挥棒王营(特约评论员)前段时间,中共中央国务院印发深化新时代教育评价改革总体方案(以下简称方案),并发出通知,要求各地区各部门结合实际认真贯彻落实。方案是否上晚自修不宜搞一刀切是否上晚自修不宜搞一刀切王营(特约评论员)近日,杭州部分初中学校收到了市教育局下发的一份通知关于明确义务教育阶段学校晚自修组织工作的函。通知对初中生能不能参加在校晚自修做了回复,明延时服务后,家长再提早托班要求,老师无奈我是廉价保姆?文跳跳妈妈谈教育52延时服务方便了学生和家长,麻烦了学校和老师,如何找到双方的平衡点,成为大难题。为解决中小学生家长接送难的问题,中小学实行52课后延时服务,从前430放学,延后延补课班收费标准定了!5000元将成为一个档,有望咸鱼翻身?文跳跳妈妈谈教育双减政策下,校外辅导机构确定进入寒冬期,如何由冬转春成关键。2021年教育大舞台发生巨变,其中双减应该是影响最为深远的一步,双减减轻中小学作业负担和课外辅导负担,第师范类大学排名大洗牌,南师排第5引争议,名不正言不顺?文跳跳妈妈谈教育师范类高校一直是高考热门选择之一。教师作为铁饭碗,有着工作稳定薪资待遇高人际关系简单等优势,在整体就业环境不景气的当下,教师成为年轻人职业的大热门选择,师范类高校也2022高考将成最难一年?一类考生恐无缘普本,逆袭几率为0?文跳跳妈妈谈教育高考如同千军万马过独木桥,最终成功上岸的都是精英人才。2021年教育大舞台上发生了很多变化,其中八省高考改革影响深远,受到考生学校家长老师的重视。从2021年高考结一份中学教师招聘公示引争议,年薪高达60万,老师这么值钱?文跳跳妈妈谈教育老师是三大铁饭碗之一,工作稳定社会地位高工作性质高尚,成为很多年轻人追求的目标。每年师范类高校都是考生们的热门选择,他们都有一个毕业就进入学校当老师的梦想,但是往往3孩政策无人执行?专家指出不能靠90后,75和80后是主力军文跳跳妈妈谈教育第7次人口调查表明,我国人口总量为14。1亿,依旧是世界第一人口大国,但是在普查的过程中也发现很多问题,人口老龄化问题严重,新生儿率逐年降低。日本是出了名的人口老龄招个男老师太难了!中小学出现男老师荒,性别失衡如何破解?文跳跳妈妈谈教育甲之蜜糖,乙之砒霜,人人都说体质好,但真的适合每个人吗?近两年受疫情影响,整体就业大环境并不乐观,一些企业面临倒闭风险,员工也面临着失业风险,大学毕业生想在这个就业大学生网恋翻车现场,照片与本人毫无相干,一个西施一个东施文跳跳妈妈谈教育大学生网恋有风险,入坑需谨慎!大学生活很美好也很轻松,没了高中时的巨大学习压力,也还没有尝试到初入社会的恐慌与不安,在最绚烂的青春里,做一些疯狂且炙热的事情,是每一
丧偶式育儿我能坚持多久呢?关于丧偶式育儿,我真的不知道还能坚持多久,也不知道我能坚持到什么程度。周一到周五,孩子他爸上班,孩子的所有事宜我全权负责,周六日孩子爸说上班累要补觉,所以还是只有我和孩子同频道同节一写作业,母慈子孝,居然在这里做到了一写作业拉屎拉尿喝水肚子疼蚊子咬分分钟想揍他(孩子)我们在朋友圈发现这样的文字,家有学生党,常常上演一部鸡飞狗跳家庭伦理武打剧。特别是最近疫情四起多地停课,孩子居家网课,很多家长哭孕妈,产检做妊娠糖奶量试验,攻略看这南方网讯(记者张俊伟通讯员林惠芳)明天要空腹不能吃早餐来医院抽血,医生说要抽3次血,我好怕,我能受得了吗?一位年轻的孕妈拿着产检单,焦虑地询问旁边的丈夫。丈夫也一脸茫然,没事,我明孕期玩手机不要做这五件事否则会伤害胎儿教育听我说孕期玩手机不能做这五件事才不会伤害胎儿。1。晚上睡觉的时候不要把手机放在枕头手机不能放在枕头上2。玩手机的时候不要把手机放在肚子上不要把手机放在肚子上3。不要经常把手机挂儿童贫血不可乱补,这个汤才是最适合的铁是人体必须的微量营养元素之一,以微量存在于人体,却对维持人体生命活动具有重要的作用。铁是血红蛋白,肌红蛋白,细胞色素酶类和多种氧化酶的组成成分,它与血液中氧的运输和细胞内生物氧化自感人生,如意与不如意自己常常在想,当从母亲的身上出来,成为初人的那一刻,应该是最无知的一声喊叫哇哇哇,这声音好似在说娃娃如意来到了人间,其实当个娃娃什么也不明白,这只是人生的初来,只有在吃到妈妈甜蜜的建议家长别太省钱,春天是补钙黄金期,这6道菜多给孩子吃春季开始,万物复苏,不仅花草树木欣欣向荣起来,小朋友们也进入了生长发育最快的阶段。相信很多宝妈都知道,每年的36月,都是补钙的最佳阶段。如果家里的孩子达不到理想的身高,不妨抓住这个男孩身上如果有三气,长大以后更有出息,你家儿子占了几个?不知道家长发现了没有,现在的孩子越来越娇气了,特别是有些男孩子抗挫能力弱,缺少了男孩本该有的坚强和阳刚劲儿。男孩长大后如果没有男孩气概,怕是很难出人头地吧!妈妈,这也太累了两个男娃what!听说生了两个女儿的人就是人上人?这张图让我多盯了几眼并且开始对周围的家庭对号入座。没错,我就是生了两个闺女。怀孕期间从来没有咨询过性别问题,当然现在查得严,正规医院的b超室门口都贴一张纸禁止询问胎儿性别,没有熟人你听说过哪些骇人听闻的真实事件?好几年前了,那是我妈和我说的了。我妈单位的一个女同事,那个同事生了一个小孩,老公去出差了吧好像。一天晚上她和孩子一块睡觉,晚上翻身的时候没注意,把孩子的脑袋压在了胳膊下面。早上起来小孩子贪玩心很重怎么办?小孩子贪玩呢,是属于天性的,家长呢,也不要太过于担心。在这里呢,家长也要积极的去劝导孩子,尽量不要去打骂孩子,要不然会使孩子产生一种逆反的心理。在这里有几点可以参考一下1,第一点对