zoukankan      html  css  js  c++  java
  • Python列表操作——模拟实现栈和队列

    1.实现栈:

    stack=[]
    
    def pushit():
        stack.append(raw_input('Enter New String:').strip())
    def popit():
        if len(stack)==0:
            print 'can not pop anything from a empty stack'
        else:
            print 'Remove[',repr(stack.pop()),']'
    def viewstack():
        print stack
    
    CMDs={'u':pushit,'o':popit,'v':viewstack}
    
    def showmenu():
        pr="""
        p(U)sh
        p(O)p
        (V)iew
        (Q)uit
    
        Enter choice:"""
        while True:
            while True:
                try:
                    choice=raw_input(pr).strip().lower()
                except (EOFError,KeyboardInterrupt,IndexError):
                    choice='q'
                print '
    You picked:[%s]' %choice
                if choice  not in 'uovq':
                    print'Invaild option,try again'
                else:
                    break
            if choice=='q':
                break
            CMDs[choice]()
            
    
    
    if __name__=='__main__':
        showmenu()

    2.实现队列

    queue=[]
    
    def enQ():
        queue.append(raw_input('Please enter a new element:').strip())
    
    def deQ():
        if len(queue)==0:
            print "Error: cannot pop anything from a empty queue"
        else:
            print 'Remove [',queue.pop(0),']'
    
    def viewshow():
        print queue
    CMDs={'e':enQ,'d':deQ,'v':viewshow}
    def showmenu():
        pr='''
          (E)nQ
          (D)eQ
          (V)iewshow
          (Q)uit
    
          Enter your choice: 
        '''
        while True:
            while True:
                try:
                    choice=raw_input(pr).strip()[0].lower()
                except (EOFError,KeyboardInterrupt,IndexError):
                    choice='q'
                print 'You picked [%s]' % choice
                if choice not in 'edvq':
                    print 'Invail option, Try again'
                else:
                    break
            if choice=='q':
                break
            CMDs[choice]()
    if __name__=='__main__':
        showmenu()
  • 相关阅读:
    一、linux 挂起进程 nohup
    1.C#窗体和控件
    C#笔记——5.迭代器
    C#笔记——4.集合
    设计模式——3.观察者模式
    设计模式——2.策略模式
    Code基础——1.数据结构
    设计模式——1.模板方法
    C#笔记——3.泛型
    C#笔记——2.委托
  • 原文地址:https://www.cnblogs.com/itdyb/p/5382492.html
Copyright © 2011-2022 走看看