python栈
来源:互联网 发布:js代码反混淆工具 编辑:程序博客网 时间:2024/05/29 12:01
今天在学习python编写简单栈的时候,脚本报错。查找错误以及解决过程记录。
pystack.py脚本
# -*- coding:utf-8 -*-
# file: pystack.py#
class PyStack: # 堆栈类
def __init__(self, size = 20):
self.stack = [] # 堆栈列表
self.size = size # 堆栈大小
self.top = -1 # 栈顶位置
def setSize(self, size): # 设置堆栈大小
self.size = size
def push(self, element): # 元素进栈
if self.isFull():
raise 'PyStackOverflow' # 如果栈满则引发异常
else:
self.stack.append(element)
self.top = self.top + 1
def pop(self): # 元素出栈
if self.isEmpty():
raise 'PyStackUnderflow' # 如果栈为空则引发异常
else:
element = self.stack[-1]
self.top = self.top - 1
del self.stack[-1]
return element
def Top(self): # 获取栈顶位置
return self.top
def empty(self): # 清空栈
self.stack = []
self.top = -1
def isEmpty(self): # 是否为空栈
if self.top == -1:
return True
else:
return False
def isFull(self): # 是否为满栈
if self.top == self.size - 1:
return True
else:
return False
if __name__ == '__main__':
stack = PyStack() # 创建栈
for i in range(10):
stack.push(i) # 元素进栈
print stack.Top() # 输出栈顶位置
for i in range(10):
print stack.pop() # 元素出栈
stack.empty() # 清空栈
for i in range(21):
stack.push(i) # 此处将引发异常
上面的脚本是网上查到正确的脚本。
======
查错过程:
1.编写脚本,执行脚本无输出。
2.在网上查找正确的脚本。
3.diff进行脚本的对比。
4.修改原脚本。
======
出错位置以及原因:
if __name__ == '__main__':
在 __name__ 独立运行设置时,'__main__' 在引号和下划线之间添加了空格,即 ' __main__ '。
阅读全文
1 0
- 【python】python实现栈
- python 栈
- python 栈 ~
- python栈
- Python-栈
- 栈 python
- [Python]python算法入门 -- 栈(stack)
- 用Python实现栈
- Python队列、栈学习
- Python 实现栈
- Python的栈
- Python 实现栈
- python栈的实现
- python中的队列、栈
- Python 栈和队列
- python全栈
- Python数据结构—-栈
- Python数据结构--栈
- MyEclipse中的Servers如何显示在控制台
- H5移动端知识点总结
- js异步加载的三种方式
- Android多线程编程
- 绝对值c++题解
- python栈
- 访问外部设备寄存器的方法
- 有关进度条的一些写法
- SASS看这里
- Ant-style的匹配原则
- 电商系统
- 随便理解一下JVM
- mybatis中$ 和#的区别
- 后台数据校验hibernate-validator