Python模拟入栈出栈操作
目标:
1.编写菜单,提示用户操作选项(push,pop,view,quit)
2.规则:定义列表,先入栈,后出栈,后入栈,先出栈
1.模拟入栈、出栈操作
>>> list1 = [] >>> list1.append('a') >>> list1 ['a'] >>> list1.append('b') >>> list1 ['a', 'b'] >>> list1.pop() 'b' >>> list1 ['a'] >>> list1.pop() 'a' >>> list1 [] >>>
2.编写实现模拟入栈、出栈以及查询等功能
[root@localhost python]# cat in_stack_out.py #!/usr/bin/env python #coding:utf8 db = []
#定义入栈函数 def push_it(): item = raw_input("item: ") db.append(item)
#定义出栈函数 def pop_it(): if db: print "Poped item is:", db.pop() else: print "\033[31;1m%s\033[0m" % ('列表为空,请选择其他选项') #定义查询函数 def view_it(): print "\033[32;1m%s\033[0m" % db
#定义函数功能的提示菜单 def show_menu(): cmds = { "0": push_it, "1": pop_it, "2": view_it } prompt = '''(0) push (1) pop (2) view (3) quit Please input your choice(0/1/2/3): ''' while True: choice = raw_input(prompt).strip()[0] if choice not in '0123': print "Invalid choice, Try Again!" continue if choice == '3': break cmds[choice]() if __name__ == "__main__": show_menu()
3.运行代码,测试效果