以下是一个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)',']' 所以怎么运行都不对 后来仔细检查了一下,原来是单引号的问题。