python 模擬棧操作 47

2021-08-28 10:26:43 字數 752 閱讀 8451

#****stack = 

def push_it(): #向棧裡面放

item = input('item to push: ')

def pop_it(): #彈出

if stack:

print("from stack popped %s" % stack.pop())

def view_it(): #查詢

print(stack)

def show_menu():

cmds = #將上面的函式放入字典

prompt = """(0) push it

(1) pop it

(2) view it

(3) exit

please input your choice(0/1/2/3): """

while true:

choice = input(prompt).strip()[0] # input()得到字串,用strip()去除兩端空白,再取下標為0的字元

if choice not in '0123':

print('invalid input. try again.')

continue

if choice == '3':

break

cmds[choice]() #執行上面定義的函式

if __name__ == '__main__':

show_menu()

省選模擬47

考慮按照 c 遞增的順序查詢答案,那麼發現需要進行的操作是區間加下標,全域性最值。直接上分塊凸包就行了。考慮將座標 x,y 轉化成 x y,x y 這樣就將兩維獨立了出來。對於每一維分別考慮,那麼每乙個限制都可以被表達成 a l b x i 的形式,x i 表示 i 時刻的座標,l 表示乙個週期的位...

AcWing 模擬棧 棧 模擬

時 空限制 1s 64mb 實現乙個棧,棧初始為空,支援四種操作 1 push x 向棧頂插入乙個數x 2 pop 從棧頂彈出乙個數 3 empty 判斷棧是否為空 4 query 查詢棧頂元素。現在要對棧進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。第一行包含整數m,表示操作次數。接下...

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

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