#!/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 輸入內容...