Python实现栈的方法

yipeiwu_com5年前Python基础

本文实例讲述了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中的Django框架中进行字符串翻译

使用函数 ugettext() 来指定一个翻译字符串。 作为惯例,使用短别名 _ 来引入这个函数以节省键入时间. 在下面这个例子中,文本 "Welcome to my site" 被标记...

python按行读取文件,去掉每行的换行符\n的实例

如下所示: for line in file.readlines(): line=line.strip('\n') 以上这篇python按行读取文件,去掉每行的换行符\n的实例就是...

Python程序员鲜为人知但你应该知道的17个问题

一、不要使用可变对象作为函数默认值复制代码 代码如下:In [1]: def append_to_list(value, def_list=[]):   ...:&n...

简单了解django orm中介模型

简单了解django orm中介模型

什么是中介模型 中介模型针对的是ManyToMany(多对多)的时候第三张表的问题, 中介模型其实指的就是我们不通过Django创建第三张表,如果自己不创建第三张表,而是由django给...

Python pandas库中的isnull()详解

问题描述 python的pandas库中有一个十分便利的isnull()函数,它可以用来判断缺失值,我们通过几个例子学习它的使用方法。 首先我们创建一个dataframe,其中有一些数据...