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编程中的反模式实例分析
Dec 08 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
python和ruby,我选谁?
Sep 13 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
Python pandas用法最全整理
Aug 04 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
python线程里哪种模块比较适合
Aug 02 Python
Python实现播放和录制声音的功能
Aug 12 Python
python简单利用字典破解zip文件口令
Sep 07 Python
python 实现aes256加密
Nov 27 Python
Python合并多张图片成PDF
Jun 09 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
通过命令行生成vue项目框架的方法
2017/07/12 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
python中assert用法实例分析
2015/04/30 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
优秀党支部事迹材料
2014/01/14 职场文书
详细的大学生创业计划书模板
2014/01/27 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
学习张林森心得体会
2014/09/10 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
办公经费申请报告
2015/05/15 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
如何用PHP实现多线程编程
2021/05/26 PHP
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android