python核心编程学习(二)

以下是一个queue的例子:

#!/usr/bin/env python

queue = []

def enQ():
    queue.append(raw_input('Enter new String').strip())
    
def deQ():
    if len(queue)==0:
        print 'empty queue!'
    else:
        print 'removed [',queue.pop(0),']'

def viewQ():
    print queue
    

CMDs = {'e':enQ,'d':deQ,'v':viewQ}


def showmenu():
    pr = """(E)nqueue
            (D)equeue
            (V)iew
            (Q)uit
    Enter 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 'devq':
                print 'invalid option,try again'
            else:
                break
            
        if choice=='q':
            break
        CMDs[choice]()
        
if __name__=='__main__':
    showmenu()        

请注意:
print 'removed [',queue.pop(0),']' 这句话,因为在原书中是这样的print 'removed [','queue.pop(0)',']' 所以怎么运行都不对 后来仔细检查了一下,原来是单引号的问题。

                            

你可能感兴趣的:(python)