注:本文档主要是学习《Python核心编程(第二版)》时的练习题。

队列是一种"先进先出"的数据结构(FIFO),是一种操作受限的线性结构,先进队列的成员先出队列。示意图如下:

代码如下:

 #!/usr/bin/env python

 queue = []

 def enQ():
queue.append(raw_input('Enter new string: ').strip()) def deQ():
if len(queue) == 0:
print 'Cannot pop from an empty queue!'
else:
print 'Remove [', 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:
try:
choice = raw_input(pr).strip()[0].lower()
except (EOFError, keyboardInterrupt, IndexError):
choice = 'q' print '\nYour picked: [%s]' % choice if choice == 'q':
break
elif choice not in 'dev':
print 'Invalid option, try again'
else:
CMDs[choice]() if __name__ == '__main__':
showmenu()

测试现象:

 [root@localhost python]# python queue.py    

 (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: e Your picked: [e]
Enter new string: abcd (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: e Your picked: [e]
Enter new string: 1234 (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: v Your picked: [v]
['abcd', ''] (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: d Your picked: [d]
Remove [ abcd ] (E)nqueue
(D)equeue
(V)iew
(Q)uit Enter choice: v Your picked: [v]
[''] (E)nqueue
(D)equeue
(V)iew
(Q)uit

最新文章

  1. 将ubuntu的id_rsa秘钥转为putty的ppk格式
  2. MFC 设置控件事件对应的函数
  3. 解决Maven项目编译时提示:源值1.5已过时,将在未来所有版本中删除
  4. 基础学习day01--JAVA入门和JDK的安装与配置
  5. ILOG的一个基本应用——解决运输问题、转运问题
  6. AngularJS - Watch 监听对象
  7. jCallout 实现气泡提示
  8. Factorial
  9. mysql相关重要问题解决
  10. ubuntu 查本机 ip地址的命令是什么, 详细信息的?
  11. 导出函数结构 EXPORT_DIRECTORY
  12. OpenReports中文支持方案
  13. C# MVC 自学笔记—2 MVC Movie简介
  14. vim忽略大写和小写查找配置
  15. three.js是JavaScript编写的WebGL第 三方库
  16. apt-get 安装路径
  17. Codeforces Round #485 (Div. 2) E. Petr and Permutations
  18. MySQL 日期笔记
  19. TZOJ 5225: 玩转二叉树
  20. 创建目录:mkdir

热门文章

  1. tet-2
  2. 装饰器&偏函数与作用域与异常处理与文件读写
  3. 国内免费CMS系统大全
  4. markdown设置编辑基本语法
  5. Objection基本原理
  6. 【题解/模板】P1248 加工生产调度(贪心)
  7. Electron-forge应用(打包填坑)
  8. 《美国纽约摄影学院摄影教材》PDF教材
  9. Python 愤怒的小鸟代码实现:物理引擎pymunk使用
  10. Ant Design中根据用户交互展示不同的标签