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实现基于HTTP文件传输实例
Nov 08 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
介绍Python中的__future__模块
Apr 27 Python
最近Python有点火? 给你7个学习它的理由!
Jun 26 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
python 实现识别图片上的数字
Jul 30 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
Python 跨.py文件调用自定义函数说明
Jun 01 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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中Date获取时间不正确怎么办
2008/06/05 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
js比较日期大小的方法
2015/05/12 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
js检测离开或刷新页面时表单数据是否更改的方法
2016/08/02 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
Python字符串格式化的方法(两种)
2017/09/19 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
Django中间件基础用法详解
2019/07/18 Python
Django 框架模型操作入门教程
2019/11/05 Python
Python是怎样处理json模块的
2020/07/16 Python
电子商务专业自我鉴定
2013/12/18 职场文书
基层党员公开承诺书
2014/05/29 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
大学生个人总结范文
2015/02/15 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
2016幼儿园毕业感言
2015/12/08 职场文书
初中思品教学反思
2016/02/20 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript