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实现删除Android工程中的冗余字符串
Jan 19 Python
Python实现统计单词出现的个数
May 28 Python
java中两个byte数组实现合并的示例
May 09 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
对python中的argv和argc使用详解
Dec 15 Python
flask框架自定义url转换器操作详解
Jan 25 Python
在python中修改.properties文件的操作
Apr 08 Python
python导入库的具体方法
Jun 18 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
Python 忽略文件名编码的方法
Aug 01 Python
python包的导入方式总结
Mar 02 Python
Python中Cookies导出某站用户数据的方法
May 17 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
php2html php生成静态页函数
2008/12/08 PHP
php网站地图生成类示例
2014/01/13 PHP
鼠标图片振动代码
2006/07/06 Javascript
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
PyQT实现多窗口切换
2018/04/20 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
python扫描线填充算法详解
2020/02/19 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
公务员综合考察材料
2014/02/01 职场文书
校长新学期致辞
2015/07/30 职场文书
python缺失值的解决方法总结
2021/06/09 Python
Python如何识别银行卡卡号?
2021/06/10 Python
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python