亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

python繪制漢諾塔

瀏覽:61日期: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(): # 畫(huà)出漢諾塔的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) # 畫(huà)出漢諾塔的poles[0] drawpole_1(1) # 畫(huà)出漢諾塔的poles[1] drawpole_1(2) # 畫(huà)出漢諾塔的poles[2]def creat_plates(n): # 制造n個(gè)盤(pá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]頂端的盤(pán)子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() # 確定移動(dòng)到底部的高度(恰好放在原來(lái)最上面的盤(pán)子上面) plates[mov].goto((tp - 1) * 400, -90 + 20 * l)def moveTower(plates, poles, height, fromPole, toPole, withPole): # 遞歸放盤(pán)子 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('請(qǐng)輸入漢諾塔的層數(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繪制漢諾塔

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩亚洲欧美综合一区二区三区 | 2022国产精品自拍 | 亚洲一二三区视频 | 超级碰碰青草久热国产 | 欧美特欧美特级一片 | 国产一区在线视频 | 欧美黑人两根巨大挤入 | 亚洲欧美成人在线 | 草草草在线观看 | 久久久成人啪啪免费网站 | 欧美日韩一本大道香蕉欧美 | 在线观看成年美女黄网色视频 | 亚洲国产精品a一区 | 午夜成年免费观看视频 | 色综合合久久天天综合绕视看 | 久爱午夜精品免费视频 | 精品视频麻豆网站 | 一级日本大片免费观看视频 | 国产午夜不卡在线观看视频666 | 91福利国产在线观一区二区 | 亚洲综合久久久久久888 | 成人午夜视频在线观 | 亚洲欧美日韩精品 | 三级毛片在线免费观看 | 欧美啪啪一级毛片 | 日韩精品电影一区 | 日本免费人成黄页网观看视频 | 中文字幕s级优女区 | 性福宝向日葵视频 | 成人乱码 | 99久久精品无码一区二区毛片 | 国产性夜夜性夜夜爽91 | 亚洲国产成人久久一区www | 国产精品第一区亚洲精品 | 亚洲黄色激情网 | 99精品视频在线观看re | 1024成线在人免费视频 | 国产精品久久99 | 麻豆传媒2021精品传媒一区 | 黄色片网址在线观看 | 久久久久久91精品色婷婷 |