1.用物件導向的方式實現堆疊的資料結構(後進先出)
指令碼編寫如下:
class
stack
(object):
#將棧定義為乙個類
def__init__
(self,stack):
self.stack = stack
defmanystack
(self,*args):
#進棧方法
self.stack.extend(args)
defpopstack
(self):
#出棧方法
ifnot self.kongqueue():
return self.stack.pop()
else:
return
none
defviewstack
(self):
#檢視棧元素方法
for i in self.stack:
print i,
deftopstack
(self):
#檢視棧頂元素飯方法
ifnot self.kongqueue():
return self.stack[-1]
else:
return
none
defkongqueue
(self):
#檢視棧是否為空
return self.stack ==
s = stack([1]) #給棧中傳入乙個元素
s.manystack(1,2,3) #進棧元素
s.viewstack() #顯示棧中元素
s.topstack() #檢視棧中最上面的元素
print s.topstack() #將棧中最上面的元素列印出來
s.popstack() #出棧,預設刪除最上面(最後)乙個元素
print
"\n"
s.viewstack() #再次檢視棧元素
指令碼執行效果:
1 1 2 3 3
1 1 2
2.用物件導向的方式實現佇列的資料結構(先進先出)
指令碼編寫如下:
class
queue
(object):
#將佇列定義為乙個類
def__init__
(self,queue):
print
"welcome!"
self.queue = queue
defenqueue
(self,item):
#進入佇列的方法(只能傳乙個值)
defmanyenqueue
(self,*args):
#進入佇列的方法(可傳多個值)
self.queue.extend(args)
defoutqueue
(self):
#出佇列方法
ifnot self.isempty():
return self.queue.pop(0)
else:
return
none
defshowqueue
(self):
#檢視佇列方法
for i in self.queue:
print i,
defisempty
(self):
#檢視佇列是否為空
return self.queue ==
s = queue([1,2,3]) #給佇列中傳入元素
s.enqueue(2) #進入佇列的元素
s.manyenqueue("test","ok") #進入佇列元素
s.showqueue() #顯示佇列中的元素
s.outqueue() #出佇列,預設刪除最後面的元素(先進先出)
print
s.showqueue() #再次顯示佇列中的元素
指令碼執行效果:
welcome!1
232testok2
32test
ok
python之if語句及其相關練習
if 要判斷的條件 條件成立的時候,要做的事情 elif 要判斷的條件 else 條件不成立的時候,要做的事情 1.定義乙個變數 age 162.判斷年齡是否滿18歲 if age 18 print 可以進網咖 age else print 未成年 age 練習 判斷成績 score int inp...
python之作業系統相關練習
題目要求 在當前目錄新建目錄img,裡面包含多個檔案,檔名各不相同 x4g5.png 將當前img目錄所有以.png結尾的字尾名改為.jpg import random import string import os def gen code len 4 隨機生成四位隨機數 li random.sa...
檔案操作之相關練習
示例1 向test.txt檔案中寫入資料 test.txt 假設已存在的test.txt的檔案內容為123456789 file1.c include include include include include include include include int main 設定檔案許可權掩碼...