You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
801 B
Python

class Stack(object):
def __init__(self, maxlength=27):
self.stack = []
self.maxlength = maxlength
self.top = 0
def push(self, value): # 进栈
self.stack.append(value)
if self.top >= self.maxlength:
for i in self.stack[:-27]:
self.stack.remove(i)
self.top += 1
def pop(self): # 出栈
if self.top == 0:
raise StackEmptyException('Your stack is empty!')
self.top -= 1
el = self.stack[self.top]
return el
def is_empty(self): # 如果栈为空
return bool(self.stack)
def top(self):
# 取出目前stack中最新的元素
return self.stack[-1]
class StackEmptyException(Exception):
"""自定义一个栈空出异常"""
pass