python出棧的方法 Python實現棧的方法

2021-10-19 20:45:48 字數 1063 閱讀 9815

#!/usr/bin/env python

#定義乙個列表來模擬棧

stack =

def pu****():

#出棧,用到了pop()函式

def popit():

if len(stack) == 0:

print 『cannot pop from an empty stack!『

else:

print 『removed [『, stack.pop(), 『]『

#編歷棧

def viewstack():

print stack

#cmds是字典的使用

cmds =

#pr為提示字元

def showmenu():

pr = """

p(u)sh

p(o)p

(v)iew

(q)uit

enter choice: """

while true:

while true:

try:

#先用strip()去掉空格,再把第乙個字元轉換成小寫的

choice = raw_input(pr).strip()[0].lower()

except (eoferror, keyboardinterrupt, indexerror):

choice = 『q『

print 『\nyou picked: [%s]『 % choice

if choice not in 『uovq『:

print 『invalid option, try again『

else:

break

#cmds根據輸入的choice從字典中對應相應的value,比如說輸入u,從字典中得到value為pu****,執行pu****()進棧操作

if choice == 『q『:

break

cmds[choice]()

#判斷是否是從本檔案進入,而不是被呼叫

if __name__ == 『__main__『:

showmenu()

原文:

python出棧的方法 Python實現棧的方法

定義乙個列表來模擬棧 stack def pu 出棧,用到了pop 函式 def popit if len stack 0 print cannot pop from an empty stack else print removed stack.pop 編歷棧 def viewstack prin...

出棧序列的求解方法

假如現在有這麼乙個問題 乙個序列從1到n依次入棧,那麼可能的出棧序列一共有多少種?注意 在任意乙個時刻,只要棧不為空,就可能有元素出棧,不是說元素全部入棧之後再出棧。這個問題的解其實等同於求n階的卡特蘭數 catalan 卡特蘭數指的是在乙個n n的方格中,從左下角走到右上角。每一步只能往右或者往上...

python列表模擬棧 壓棧,出棧,查詢

root kl bin python3 author kl 列表模擬棧 壓棧,出棧,查詢 flist 定義棧 defpush it 定義壓棧 data input 資料 strip 提示使用者輸入資料,strip去掉兩邊空格 if data 判斷使用者輸入資料是否為空 else print 輸入內容...