美文网首页
42-模拟栈操作

42-模拟栈操作

作者: JSFnull | 来源:发表于2019-12-18 20:54 被阅读0次

```

stack = []

def push_it():

data =input('数据: ').strip()

if data :#非空字符串为真

        stack.append(data)

else:

print('\033[31;1m输入为空\033[0m')

def pop_it():

if stack :#列表非空为真

        print('从栈中弹出了: \033[34;1m%s\033[0m' % stack.pop())

else:

print('\033[31;1m空栈\033[0m')

def view_it():

print('\033[31;1m%s\033[0m' % stack)

def show_menu():

#    try:

    #cmds = {'0':push_it(),'1':pop_it(),'2':view_it()} ----把函数的值(返回值None)放到字典里

    cmds = {'0':push_it,'1':pop_it,'2':view_it}#这才是调用函数

    menu ="""(0)压栈:

(1)出栈:

(2)查询:

(3)退出:

请选择(0/1/2/3):"""

    while 1:

choice =input(menu).strip()#去除两端空白

        if choicenot in ['0','1','2','3']:

print('\033[031;1m无效的输入,请重试: \033[0m')

continue

        if choice =='3':

print('bye-bye')

break

        cmds[choice]()

# except:

    #    print('请按照菜单输入相应数字')

if __name__ =='__main__':

show_menu()

```

相关文章

  • 42-模拟栈操作

    ``` stack = [] def push_it(): data =input('数据: ').strip()...

  • 算法-栈和队列算法总结

    栈和队列算法总结 1 模拟 1.1 使用栈实现队列 1.2 使用队列实现栈 2 栈的应用 2.1 栈操作 2.2 ...

  • 5、模拟栈操作

  • iOS_Swift一些常见的算法

    1、A和B交换值 2、求最大公约数 3、模拟栈操作(一种先进后出的数据结构) 练习:使用全局变量模拟栈的操作 4、...

  • python 中的栈

    python 是没有栈的,我们可以模拟一个栈 stack通常的操作: Stack() 建立一个空的栈对象push(...

  • 用两个队列实现栈

    题目: 用两个队列模拟实现栈的push以及pop操作。 解法:

  • 队列与栈相关题目

    使用栈模拟队列操作题目链接: https://leetcode.com/problems/implement-qu...

  • Java 二级复习整理

    二级考试模拟卷11、栈按先进后出的原则,所以入栈最早的最后出栈;数据的插入删除都是在栈顶进行操作。所以栈顶元素最后...

  • js栈的操作

    js模拟栈操作,输入两个数组,一个数组作为元素入栈顺序,另一个数组为出栈顺序,若出栈顺序符合入栈规则返回true

  • 面试题9:用两个栈实现队列

    题意:请用栈实现一个队列,支持如下四种操作:pop,push,peek,empty 算法:模拟 思路:一个栈存放数...

网友评论

      本文标题:42-模拟栈操作

      本文链接:https://www.haomeiwen.com/subject/jmosgctx.html