python实现出栈进栈

要求:
  • 进栈
  • 出栈
  • 遍历所有
  • 退出
stack = [] #创建列表

#进栈
def pushstack():
stack.append(input('Enter a nubmber: '))
#出栈
def popstack():
if len(stack) == 0:
print('Connnot pop none stack')
else:
stack.pop()
#遍历/查询
def viewstack():
print(stack) #字典对应功能
CMD = {'v':viewstack, 'u':pushstack, 'o':popstack} #主函数
def main():
lable = '''
'q':quit, 'v':view, 'u':push, 'o'pop
Enter a CMD --> '''
while True:
try:
a = input(lable)
if a not in 'qvuo':
print('Wrong cmd :', a)
elif a == 'q':#退出程序
break
CMD[a]()
except Exception as e:
print('try it again!') if __name__ == '__main__':
main()

示例:

栈与队列的区别:
  • 栈:后进先出, 队列:先进先出
  • 队列:限定表的一端进行删除添加,限定表一端添加,另一端删除

python的进栈出栈遍历的更多相关文章

  1. C语言实现链栈的初始化&进栈&出栈&读取栈顶元素

    /*链表实现栈的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 typede ...

  2. C语言实现顺序栈的初始化&进栈&出栈&读取栈顶元素

    /*顺序表实现栈的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define Stack_Size 50 //设栈中元素个数为50 ...

  3. [实战演练]Intel面试题目 - 进栈出栈顺序问题

    电话面试中写C++,逻辑比较清楚的一个题目,一紧张就不能好好地写下来,漏洞百出.以前经常在完善的编译环境中写代码,换了一个白板子上写反而写的不通顺了,犯了一些基础错误,比如stack中的首个元素是to ...

  4. Python模拟入栈出栈操作

    目标: 1.编写菜单,提示用户操作选项(push,pop,view,quit) 2.规则:定义列表,先入栈,后出栈,后入栈,先出栈 1.模拟入栈.出栈操作 >>> list1 = [ ...

  5. 问题-栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F顺序进栈,问可能的出栈顺序。

    住栈的特性:对于取出栈内元素每次只能从栈顶开始取(后进先出(栈满时,只能先出后进)) 由于栈内只能容纳4个元素: 所以 E F不可能第一个出栈: 当栈内少于四个元素时 既可以选择进栈,也可以选择出栈 ...

  6. n个元素进栈,共有多少种出栈顺序?

    1.基于栈的问题分析 我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出:                                   f(1) = 1     / ...

  7. c语言将2进制数转化为10进制数(栈的初始化,进栈,出栈)

    //c语言描述 将2进制转化为10进制 #include <stdio.h> #include <stdlib.h> #include <math.h> #defi ...

  8. 【转】【数据结构】【有n个元素依次进栈,则出栈序列有多少种】

    卡特兰数 大神解释:https://blog.csdn.net/akenseren/article/details/82149145      权侵删 原题 有一个容量足够大的栈,n个元素以一定的顺序 ...

  9. 5, java数据结构和算法: 栈 , 入栈, 出栈, 正序遍历,,逆序遍历

    直接上代码: class ArrayStack{ //用数组模拟栈 int maxSize; int[] stack; int top = -1;//表示栈顶 public ArrayStack(in ...

随机推荐

  1. tortoise 设置beyond Compare比较工具

    1.桌面右击tortoiseSVN->setting->Diff Viewer面板,选择external,选中beyond Compare路径

  2. 8. input限制手机输入

    1. 只能输入数字: <input id="num" type="number" value="0" onkeyup="va ...

  3. PHP xml 外部实体注入漏洞学习

    XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Exten ...

  4. 从一次“并发修改字段业务”引出多版本并发控制与InnoDB锁

    并发字段修改业务 最近在主要在做"工作流引擎"课题的预研工作,在涉及到"会签任务"(工作流业务概念,这与我们今天讨论文问题没有太多关联)的时候,遇到了一个并发修 ...

  5. 彻底弄懂GMT、UTC、时区和夏令时

    前言 格林威治时间.世界时.祖鲁时间.GMT.UTC.跨时区.夏令时,这些眼花缭乱的时间术语,我们可能都不陌生,但是真正遇到问题,可能又不那么确定,不得不再去查一查,处理完可能过段时间又忘记.今天,我 ...

  6. Linux系统安装docker教程-CentOS7(完美教程)

     一.前言 最近有网友反应不在安装Linux 安装docker,为了方便大家更快的安装,以CentOS7安装为例,写了一篇比较简单的博客,让大家学习. 二.背景介绍 Linux,全称GNU/Linux ...

  7. 挑战全网最幽默的Vuex系列教程:第五讲 Vuex的小帮手

    先说两句 前面已经讲完了 Vuex 下的 State.Getter.Mutation 及 Action 这四驾马车,不知道大家是否已经理解.当然,要想真正熟练掌握的话,还是需要不断的练习和动手实践才行 ...

  8. SQLI-LABS学习笔记(三)

    第十一关   这一关是POST注入   先利用bp抓包抓到post传输的参数数据     抓到传递的表单为   uname=admin&passwd=admin&submit=Subm ...

  9. (第一篇)linux简介与发展历史以及软件的安装

    1.Linux操作系统基本结构介绍: 操作系统: 英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统 ...

  10. MySQL事务与并发

      很多程序员都学过MySQL,而且也会写SQL语句.但仅仅会写还远远不够,在面试中以及在工作中,还必须要会事务和并发. 一.事务 事务是满足 ACID 特性的操作,可以通过 Commit 提交事务, ...