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内置的字符串处理函数整理
Jan 29 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
python调用百度语音REST API
Aug 30 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
Python如何把十进制数转换成ip地址
May 25 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
编写python代码实现简单抽奖器
Oct 20 Python
python中__slots__节约内存的具体做法
Jul 04 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
PHP中实现进程间通讯
2006/10/09 PHP
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python学习数据结构实例代码
2015/05/11 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
《美丽的公鸡》教学反思
2014/02/25 职场文书
写给领导的感谢信
2015/01/22 职场文书
召开会议通知范文
2015/04/15 职场文书
本科毕业答辩开场白
2015/05/27 职场文书
文书工作总结(范文)
2019/07/11 职场文书