Python课堂题目--模拟栈的工作原理

    科技2024-07-11  71

    模拟栈的工作原理:

    入栈出栈查看栈顶元素栈的长度栈是否为空 注意:空栈不能出栈,且此时不栈顶元素

    代码:

    caidan=''' 1.入栈 2.出栈 3.查看栈顶元素 4.栈的长度 5.栈是否为空 6.退出 ''' x=[] print(caidan) while True: choice=int(input("操作数字为:")) if choice==1: print("入栈,请输入元素:") a=input() x.append(a) print("此时栈里有:",x) elif choice==2: if x==[]: print("栈为空,无元素出栈") else: print("出栈元素为:",x.pop()) elif choice==3: if x==[]: print("栈为空,栈内无元素!") else: print("栈顶元素为:",x[-1]) elif choice==4: print("栈的长度为:",len(x)) elif choice==5: if x==[]: print("栈为空!") else: print("栈非空!") elif choice==6: print("退出") exit() else : if choice<1 or choice>6: print("请输入正确的操作数:") continue

    输出:

    1.入栈 2.出栈 3.查看栈顶元素 4.栈的长度 5.栈是否为空 6.退出 操作数字为:1 入栈,请输入元素: 1 此时栈里有: ['1'] 操作数字为:1 入栈,请输入元素: 2 此时栈里有: ['1', '2'] 操作数字为:1 入栈,请输入元素: 5 此时栈里有: ['1', '2', '5'] 操作数字为:1 入栈,请输入元素: 7 此时栈里有: ['1', '2', '5', '7'] 操作数字为:1 入栈,请输入元素: 9 此时栈里有: ['1', '2', '5', '7', '9'] 操作数字为:2 出栈元素为: 9 操作数字为:3 栈顶元素为: 7 操作数字为:4 栈的长度为: 4 操作数字为:5 栈非空! 操作数字为:6 退出 ***Repl Closed*** 入栈:这里用append()函数之一将输入的元素放入列表,模拟栈栈的特点是先入后出,所以出栈是用pop()函数,不指定下标默认删除最后一个元素并返回这个值查看栈顶元素就是运用列表x[-1],-1的下标即是代表最后一个元素栈的长度就运用到len()函数
    Processed: 0.009, SQL: 8