# 创建一个栈
stack =[]
top,maxSize =0,100# 因为Python对列表的要求,需要手动给空白部位添加0,否则会报错for i inrange(maxSize):
stack.append(0)# 入栈操作defpush(value):global stack,top
if top < maxSize:
stack[top]= value
top +=1# 出栈操作defpop():global top
if top >0:
top -=1# 获取栈顶元素 defgtop():return stack[top]# 清空栈defclear():global top
top =0# 啥都没干时print('top:',top)print('stack:',stack)# 先入栈
push(1)
push(2)
push(3)
push(4)print('top:',top)print('stack:',stack)# 再出栈
pop()# 这里的出栈并不是删除列表中的元素,而是将top-1,再次入栈时就会变化print('top:',top)print('stack:',stack)# 获取栈顶print(gtop())# 清空栈(直接将top归零)
clear()print('top:',top)print('stack:',stack)