日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序

發(fā)布時(shí)間:2024/10/8 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

python是面向?qū)ο蟮恼Z(yǔ)言,但是做面向過(guò)程的操作,也是得心應(yīng)手。

代碼如下:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from requests.exceptions import RequestException

#定義棧,作為塔的數(shù)據(jù)結(jié)構(gòu)

class Stack(object):

def __init__(self, name):

self.items = []

self.name = name;

def isEmpty(self):

return self.items == []

def push(self, item):

self.items.append(item)

def pop(self):

return self.items.pop()

def peek(self):

return self.items[len(self.items) - 1]

def size(self):

return len(self.items)

#定義移動(dòng)的塊

class Block(object):

def __init__(self, size, location):

self.size = size

self.location = location

def setlocation(location):

self.location = location

#移動(dòng)漢諾塔

def moveblock(s1,s2):

if(s1.size() > 0):

if (s2.size() ==0) or ((s2.size() > 0) and (s2.peek().id > s1.peek().id)):

b = s1.pop()

s2.push(b)

b.location = s2.name

print (b.id, s1.name, "--->", s2.name)

else:

print("can not move")

#顯示漢諾塔

def display(s1,s2,s3):

disp(s1)

disp(s2)

disp(s3)

def disp(s):

st=Stack(s.name)

print(s.name)

while(s.size()>0):

b = s.pop()

print(b.id)

st.push(b)

while(st.size()>0):

s.push(st.pop())

#移動(dòng)漢諾塔

def hanoi(n, a, b, c):

if (n == 1):

moveblock(a, c)

else:

hanoi(n - 1, a, c, b)

moveblock(a, c)

hanoi(n - 1, b, a, c)

#主程序,傳入漢諾塔的層高

def main(n):

#定義三個(gè)塔

sLeft = Stack("left")

sMiddles = Stack("middle")

sRights = Stack("right")

# 定義n層Block

for i in range(n):

block = Block(n-i,"left")

sLeft.push(block)

display(sLeft, sMiddles, sRights)

hanoi(n, sLeft, sMiddles, sRights)

display(sLeft,sMiddles, sRights)

if __name__ == ‘__main__‘:

main(5)

程序運(yùn)行結(jié)果:

left

1

2

3

4

5

middle

right

1 left ---> right

2 left ---> middle

1 right ---> middle

3 left ---> right

1 middle ---> left

2 middle ---> right

1 left ---> right

4 left ---> middle

1 right ---> middle

2 right ---> left

1 middle ---> left

3 right ---> middle

1 left ---> right

2 left ---> middle

1 right ---> middle

5 left ---> right

1 middle ---> left

2 middle ---> right

1 left ---> right

3 middle ---> left

1 right ---> middle

2 right ---> left

1 middle ---> left

4 middle ---> right

1 left ---> right

2 left ---> middle

1 right ---> middle

3 left ---> right

1 middle ---> left

2 middle ---> right

1 left ---> right

left

middle

right

1

2

3

4

5

與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲av日韩av永久无码下载 | 亚洲成人三区 | 中文字幕在线一区 | 在线观看一区 | 啪网站| 91精品国产乱码久久 | 亚洲国产精品久久久久婷婷老年 | 日韩av中文| 一级一级黄色片 | 亚洲一级中文字幕 | 欧美日韩一卡 | 蜜芽在线视频 | 久久国产网站 | a天堂中文在线观看 | 娇小tube性极品娇小 | 男生和女生一起差差差很痛的视频 | 国产伦精品一区二区三区视频痴汉 | 青青草视频免费播放 | 97久久精品视频 | 国产精品99久久久久久久女警 | 成人国产精品视频 | 亚洲香蕉在线观看 | 中国女人裸体乱淫 | 男人的天堂免费 | 波多野结衣在线播放 | 亚洲系列在线观看 | 高h免费视频 | 偷拍一区二区三区四区 | 美女福利在线视频 | 色婷婷午夜 | 卡通动漫av| 毛片视频免费观看 | 99热在线这里只有精品 | 国产porn| 激情五月五月婷婷 | 全肉的吸乳文 | 亚洲欧美综合久久 | 色偷偷伊人 | 香蕉视频97| 91精品视频一区 | 国产色综合天天综合网 | av毛片在线播放 | 精品欧美一区二区久久久 | 中国色老太hd | 亚洲高清av在线 | av免费久久 | 人人爱爱人人 | 国产视频在线免费观看 | 蜜臀久久99精品久久久无需会员 | 午夜在线 | 日韩中文字幕一区二区 | 日韩欧美专区 | 黄色大尺度视频 | 污视频网站在线播放 | 亚洲一区二区三区四 | 欧美一区二区三区成人精品 | 欧美在线性爱视频 | 不卡的av在线| 美女网站免费黄 | 国产免费黄色录像 | 四虎av网站| 神秘马戏团在线观看免费高清中文 | 国产精品久久久一区二区三区 | 九九热这里有精品视频 | 91九色中文 | 国产主播av在线 | 织田真子作品 | 一区二区日韩电影 | 69re视频 | 成年人毛片视频 | 日本中文字幕在线视频 | 超碰毛片| 最新色网站| 人人艹在线观看 | 欧美毛片免费看 | 色女孩综合网 | 日韩成人免费电影 | 伊人影视在线 | 国产视频久久久久 | 男女高h视频 | 99久久人妻无码精品系列 | 日韩黄色三级 | 国产精品麻豆一区二区 | 国产欧美一区二区三区在线看蜜臀 | 亚洲午夜av在线 | 91激情影院 | 欧美中文网 | 国产 福利 在线 | 六月色丁香 | 密臀av在线播放 | 欧美黄色免费观看 | 国产男男网站 | 男女一区二区三区 | 亚洲一区免费在线观看 | 天堂网av2014 | 天天干天天摸天天操 | 日本视频在线免费 | 中文字幕第五页 | 黄色福利视频 |