电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

python繪制漢諾塔

瀏覽:88日期:2022-06-26 17:03:27

本文實(shí)例為大家分享了python繪制漢諾塔的具體代碼,供大家參考,具體內(nèi)容如下

源碼:

import turtleclass Stack: def __init__(self): self.items = [] def isEmpty(self): return len(self.items) == 0 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)def drawpole_3(): # 畫出漢諾塔的poles t = turtle.Turtle() t.hideturtle() def drawpole_1(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_1(0) # 畫出漢諾塔的poles[0] drawpole_1(1) # 畫出漢諾塔的poles[1] drawpole_1(2) # 畫出漢諾塔的poles[2]def creat_plates(n): # 制造n個盤子 plates = [turtle.Turtle() for i in range(n)] for i in range(n): plates[i].up() plates[i].hideturtle() plates[i].shape('square') plates[i].shapesize(1, 8 - i) plates[i].goto(-400, -90 + 20 * i) plates[i].showturtle() return platesdef pole_stack(): # 制造poles的棧 poles = [Stack() for i in range(3)] return polesdef moveDisk(plates, poles, fp, tp): # 把poles[fp]頂端的盤子plates[mov]從poles[fp]移到poles[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)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)myscreen = turtle.Screen()drawpole_3()n = int(input('請輸入漢諾塔的層數(shù)并回車:n'))plates = creat_plates(n)poles = pole_stack()for i in range(n): poles[0].push(i)moveTower(plates, poles, n, 0, 2, 1)myscreen.exitonclick()

效果圖:

python繪制漢諾塔

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 氧化铁红厂家-淄博宗昂化工 | 济南宣传册设计-画册设计_济南莫都品牌设计公司| WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 自动气象站_农业气象站_超声波气象站_防爆气象站-山东万象环境科技有限公司 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 上海APP开发-APP制作-APP定制开发-上海APP开发制作公司-咏熠科技 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | 桑茶-七彩贝壳桑叶茶 长寿茶 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 |