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