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中的闭包详细介绍和实例
Nov 21 Python
Python求解平方根的方法
Mar 11 Python
python实现自动更换ip的方法
May 05 Python
Python使用chardet判断字符编码
May 09 Python
Django框架下在URLconf中指定视图缓存的方法
Jul 23 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
python获取指定时间差的时间实例详解
Apr 11 Python
Numpy array数据的增、删、改、查实例
Jun 04 Python
python内存管理机制原理详解
Aug 12 Python
python__new__内置静态方法使用解析
Jan 07 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 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
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP读取XML值的代码(推荐)
2011/01/01 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
如何判断php数组的维度
2013/06/10 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
浅谈thinkphp的实例化模型
2015/01/04 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
JS功能代码集锦
2016/05/04 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
vue的全局提示框组件实例代码
2018/02/26 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python 读取、写入txt文件的示例
2020/09/27 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
详解rem 适配布局
2018/10/31 HTML / CSS
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
策划创业计划书
2014/02/06 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
学校开除通知书
2015/04/25 职场文书
加薪通知
2015/04/25 职场文书
道歉信怎么写
2015/05/12 职场文书
《海上日出》教学反思
2016/02/23 职场文书
导游词之沈阳植物园
2019/11/30 职场文书