《Python核心编程(第2版)》读书笔记(6)之用列表模拟堆栈(关键词:Python/列表/堆栈/stack.py)
2017-09-10 11:18
351 查看
stack = [] def pushit(): stack.append(raw_input('enter new string: ').strip()) def popit(): if len(stack)==0: print 'can not pop from an empty stack!' else: # 用反单引号(`)来代替repr()函数,把字符串的内容用引号括起来显示,而不是单单显示字符串的内容。 print 'removed [', `stack.pop()`, ']' def viewstack(): print stack # calls str() internally 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()[0].lower() except (EOFError,KeyboardInterrupt,IndexError): choice = 'q' print '\nyou picked: [%s]' % choice if choice not in 'uovq': print 'invalid option, try again' else: break if choice == 'q': break CMDs[choice]() if __name__ == '__main__': showmenu()
参考文献:
1.《Python核心编程(第2版)》6.15;
2.用Python实现栈
相关文章推荐
- 《Python核心编程(第2版)》读书笔记(7)之把列表用作队列(关键词:Python/列表/队列/queue.py)
- 《Python核心编程(第2版)》读书笔记(2)之赋值(关键词:Python/赋值/引用/传递)
- 《Python核心编程(第2版)》读书笔记(3)之下划线标识符(关键词:Python/变量名/下划线/私有变量)
- 《Python核心编程(第2版)》读书笔记(4)之浅拷贝、深拷贝(关键词:Python/浅拷贝/深拷贝)
- 《Python核心编程(第2版)》读书笔记(8)之析构(关键词:Python/析构/析构函数)
- 《Python核心编程(第2版)》读书笔记(1)之__init__(关键词:Python/面向对象/__init__)
- Python核心编程:用列表模拟堆栈
- 《计算机科学导论(第2版)》读书笔记(0)目录(关键词:计算机科学)
- 《计算机科学导论(第2版)》读书笔记(1)第一章绪论(关键词:计算机科学)
- 《计算机科学导论(第2版)》读书笔记(2)第2章数字系统(关键词:计算机科学/数字系统)
- Python基于列表模拟堆栈和队列功能示例
- 《JUnit实战(第2版)》读书笔记
- 《python核心编程》读书笔记——列表解析
- 《JavaScript面向对象编程指南(第2版)》读书笔记(一)
- 《CSS Web设计高级教程(第2版)》读书笔记(前两章)
- python模拟队列和堆栈(列表练习)
- 《JavaScript面向对象编程指南(第2版)》读书笔记(二)
- 《Python语言及其应用》读书笔记(2)之第3章Python容器:列表、元组、字典与集合(关键词:列表/元组/字典/集合)
- hdu 5289 Assignment(2015多校第一场第2题)RMQ+二分(或者multiset模拟过程)
- 网监关键词列表整理