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 28 Python
Python中max函数用于二维列表的实例
Apr 03 Python
python的pip安装以及使用教程
Sep 18 Python
对numpy中向量式三目运算符详解
Oct 31 Python
python用post访问restful服务接口的方法
Dec 07 Python
django与小程序实现登录验证功能的示例代码
Feb 19 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
Python描述符descriptor使用原理解析
Mar 21 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
python如何操作mysql
Aug 17 Python
Python爬取微信小程序Charles实现过程图解
Sep 29 Python
Python数据结构之队列详解
Mar 21 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
Terran历史背景
2020/03/14 星际争霸
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
繁简字转换功能
2006/07/19 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中的类学习笔记
2014/09/23 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Python读写unicode文件的方法
2015/07/10 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
使用sklearn的cross_val_score进行交叉验证实例
2020/02/28 Python
django迁移文件migrations的实现
2020/03/31 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
One.com挪威:北欧成长最快的网络托管公司
2016/11/19 全球购物
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
初二学习计划书范文
2014/04/27 职场文书
软件售后服务承诺书
2014/05/21 职场文书
优质服务口号
2014/06/11 职场文书
活动总结格式
2014/08/30 职场文书
2014年公司工作总结
2014/11/22 职场文书
贫困证明书范文
2015/06/16 职场文书
初婚初育证明范本
2015/06/18 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers