python设计自定义栈类、模拟入栈_python中自定义的栈

# 栈 先进后出 例如蒸笼,弹夹,饭菜等

class StackFullException(Exception):

"""自定义一个栈溢出异常"""

pass

class StackEmptyException(Exception):

"""自定义一个栈空出异常"""

pass

class Stack:

"""

自定义一个栈

"""

def __init__(self, size):

self.size = size

self.lst = [] # 存放数据的列表

self.top = 0 # 栈顶指针

def push(self, el):

"""入栈"""

if self.top >= self.size:

raise StackFullException('Your stack is full!')

self.lst.insert(self.top, el) # 放入元素

self.top += 1 # 栈顶指针向上移动一下

def pop(self):

"""出栈"""

if self.top == 0:

raise StackEmptyException('Your stack is empty!')

self.top -= 1

el = self.lst[self.top]

return el

s = Stack(4) # 传入栈的长度

# 往栈传入数据

s.push('林志玲')

s.push('朱茵')

s.push('金喜善')

s.push('张娜拉')

afb3afc942c37baf6349ba29a9f108c1.png

print(s.pop())

print(s.pop())

print(s.pop())

print(s.pop())

29e7e812bb7adc04ebba01acaa13bd39.png

ece4ce3365a0523a6d7184e28c61d905.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值