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

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

python 實(shí)現(xiàn)漢諾塔游戲

瀏覽:102日期:2022-07-04 08:50:43

一、漢諾塔問題

1. 問題來源

問題源于印度的一個古老傳說,大梵天創(chuàng)造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。

2. 問題闡述

塔內(nèi)有三個座A、B、C,A座上有64個盤子,盤子從上到下逐漸變大,最下面的盤子最大。目前要把A座的64個盤子從A座移到C座,并且每次只能移動一個盤子,移動過程中三個座保持大盤子在下,小盤子在上,要求輸出盤子的移動過程。

二、問題解析

1. 解決方法:遞歸方法

2. 解題過程

(1) 將上面63個盤子從A座移到B座

(2) 將最下面的盤子從A座移到C座

(3) 將B座的63個盤子從B座移到C座

三、問題解決

1. 非可視化解決

(1) 代碼實(shí)現(xiàn)

’’’ 編程環(huán)境:python3.7 win7x64 ’’’def printf(A,C): #盤子移動的輸出格式 print('{} --> {}'.format(A,C))def move(n,A,B,C): if n == 1: printf(A,C) #將最后1個盤子從A座移到C座 else: move(n-1,A,C,B) #將n個盤子從A座借助B座移到C座 printf(A,C) #將最后1個盤子從A座移到C座 move(n-1,B,A,C) #將n個盤子從B座借助A座移到C座N = int(input('請輸入漢諾塔層數(shù):'))move(N,’A’,’B’,’C’)

(2) 有圖有真相

python 實(shí)現(xiàn)漢諾塔游戲

2. 可視化解決

(1) 代碼實(shí)現(xiàn)

’’’ 編程環(huán)境:python3.7 win7x64 ’’’from turtle import *class 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_1(k):#畫漢諾塔的底座 up() pensize(10) speed(100) goto(400*(k-1), 100) down() goto(400*(k-1), -100) goto(400*(k-1)-20, -100) goto(400*(k-1)+20, -100)def drawpole_3():#畫出漢諾塔的三個底座 hideturtle()#隱藏 drawpole_1(0)#畫出漢諾塔的底座左 drawpole_1(1)#畫出漢諾塔的底座中 drawpole_1(2)#畫出漢諾塔的底座右def creat_plates(n):#制造n個盤子 plates=[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=[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=Screen()setup(1200,500) #設(shè)置窗口大小drawpole_3() #畫漢諾塔的底座n=int(input('請輸入漢諾塔的層數(shù)并回車:'))#輸入漢諾塔的盤子數(shù)plates=creat_plates(n)#制造n個盤子poles=pole_stack()for i in range(n): poles[0].push(i)moveTower(plates,poles,n,0,2,1)myscreen.exitonclick()

(2) 有圖有真相

python 實(shí)現(xiàn)漢諾塔游戲

以上就是python 實(shí)現(xiàn)漢諾塔游戲的詳細(xì)內(nèi)容,更多關(guān)于python 漢諾塔游戲的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 无缝方管|无缝矩形管|无缝方矩管|无锡方管厂家 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 上海阳光泵业制造有限公司 -【官方网站】 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 散热器厂家_暖气片_米德尔顿散热器 | 必胜高考网_全国高考备考和志愿填报信息平台 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 深圳宣传片制作_产品视频制作_深圳3D动画制作公司_深圳短视频拍摄-深圳市西典映画传媒有限公司 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 起好名字_取个好名字_好名网免费取好名在线打分 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 氢氧化钾厂家直销批发-济南金昊化工有限公司| 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司| CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 扬州汇丰仪表有限公司| 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 自动化展_机器人展_机床展_工业互联网展_广东佛山工博会 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 方源木业官网-四川木门-全国木门专业品牌| 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 原色会计-合肥注册公司_合肥代理记账公司_营业执照代办 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 |