python使用列表构建一个栈类,补充类中代码,要求实现除创建栈和销毁栈以外的其他基本算法(非空判断,获取栈顶元素,进栈,出栈) 参考代码输出结果,补全代码,完成栈类的设计
时间: 2024-05-08 09:18:18 浏览: 5
好的,理解了你的要求。以下是补充完整的栈类代码:
```python
class Stack:
def __init__(self):
self._stack = []
def __del__(self):
del self._stack
def is_empty(self):
return len(self._stack) == 0
def peek(self):
if self.is_empty():
return None
return self._stack[-1]
def push(self, element):
self._stack.append(element)
def pop(self):
if self.is_empty():
return None
return self._stack.pop()
```
接下来是参考代码,模拟了栈类的使用,并输出结果:
``` python
s = Stack()
print(s.is_empty()) # should return True
print(s.peek()) # should return None
s.push(1)
s.push(2)
s.push(3)
print(s.is_empty()) # should return False
print(s.peek()) # should return 3
print(s.pop()) # should return 3
print(s.pop()) # should return 2
print(s.pop()) # should return 1
print(s.is_empty()) # should return True
print(s.pop()) # should return None
```
输出结果:
```
True
None
False
3
3
2
1
True
None
```
希望能够帮到你解决问题。