Python实现栈的方法


Posted in Python onMay 26, 2015

本文实例讲述了Python实现栈的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python 
#定义一个列表来模拟栈 
stack = [] 
#进栈,调用列表的append()函数加到列表的末尾,strip()没有参数是去掉首尾的空格 
def pushit(): 
  stack.append(raw_input('Enter new string: ').strip()) 
#出栈,用到了pop()函数 
def popit(): 
  if len(stack) == 0: 
    print 'Cannot pop from an empty stack!' 
  else: 
    print 'Removed [', stack.pop(), ']' 
#编历栈 
def viewstack(): 
  print stack 
#CMDs是字典的使用 
CMDs = {'u': pushit, 'o': popit, 'v': viewstack} 
#pr为提示字符 
def showmenu(): 
  pr = """ 
  p(U)sh 
  p(O)p 
  (V)iew 
  (Q)uit 
    Enter choice: """ 
  while True: 
    while True: 
      try: 
        #先用strip()去掉空格,再把第一个字符转换成小写的 
        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 
#CMDs[]根据输入的choice从字典中对应相应的value,比如说输入u,从字典中得到value为pushit,执行pushit()进栈操作 
    if choice == 'q': 
      break 
    CMDs[choice]() 
#判断是否是从本文件进入,而不是被调用 
if __name__ == '__main__': 
  showmenu()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python调用java的Webservice示例
Mar 10 Python
Pyhton中防止SQL注入的方法
Feb 05 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
Python实现感知机(PLA)算法
Dec 20 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python实现快速傅里叶变换的方法(FFT)
Jul 21 Python
使用python接入微信聊天机器人
Mar 31 Python
python实现网站微信登录的示例代码
Sep 18 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
Python实现区域填充的示例代码
Feb 03 Python
Pyhton模块和包相关知识总结
May 12 Python
Python实现二分查找算法实例
May 26 #Python
Django发送html邮件的方法
May 26 #Python
Python使用xlrd模块操作Excel数据导入的方法
May 26 #Python
django实现分页的方法
May 26 #Python
Django imgareaselect手动剪切头像实现方法
May 26 #Python
Django实现图片文字同时提交的方法
May 26 #Python
Python实现的简单算术游戏实例
May 26 #Python
You might like
记录mysql性能查询过程的使用方法
2013/05/02 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
js传值 判断
2006/10/26 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
详解微信小程序与内嵌网页交互实现支付功能
2018/10/22 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
2020/04/23 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
python使用多线程不断刷新网页的方法
2015/03/31 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
python字典一键多值实例代码分享
2019/06/14 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
商场中秋节广播稿
2014/01/17 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
学术会议邀请函
2015/01/30 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
2016年五一促销广告语
2016/01/28 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js