2006年07月08日 星期六 19:13
用如下代码, >>> t7=BinaryTree('5') >>> t7.addNode('3') >>> t7.addNode('9') >>> print t7.left None 为什么是None而不是3? class BinaryTree: def __init__(self, key, left=None, right=None, parent=None): self.key = key self.left = left self.right = right self.parent = parent def __str__(self): return str(self.left) return str(self.key) def addNode(self,key): """Add a node in the proper location.""" if key < self.key: if self.left: self.left.addNode(key) else: self.left = BinaryTree(key, parent=self) elif key > self.key: if self.right: self.right.addNode(key) else: self.right = BinaryTree(key, parent=self)
2006年07月08日 星期六 19:38
给你改了两处代码。 在06-7-8,linda. s <samrobertsmith at gmail.com> 写道: > > 用如下代码, > >>> t7=BinaryTree('5') > >>> t7.addNode('3') > >>> t7.addNode('9') > >>> print t7.left > None > 为什么是None而不是3? > > class BinaryTree: > > def __init__(self, key, left=None, right=None, parent=None): > self.key = key > self.left = left > self.right = right > self.parent = parent > > def __str__(self): > return str(self.left) > return str(self.key) > > def addNode(self,key): > """Add a node in the proper location.""" > if key < self.key: > if self.left == None: > self.left = BinaryTree(key, parent=self) > else: > self.left.addNode(key) > elif key > self.key: > if self.right == None: > self.right = BinaryTree(key, parent=self) > else: > self.right.addNode(key) > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -- 欢迎访问: http://blog.csdn.net/ccat 刘鑫 March.Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060708/8e9b498b/attachment.html
2006年07月08日 星期六 19:41
On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > def __str__(self): > return str(self.left) > return str(self.key) > 这里多了一个return。把前面那个去掉。 -- I like python! My Blog: http://www.donews.net/limodou My Django Site: http://www.djangocn.org NewEdit Maillist: http://groups.google.com/group/NewEdit
2006年07月08日 星期六 20:11
是行了.好象逻辑没有改啊?为什么可以了? On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > 用如下代码, > >>> t7=BinaryTree('5') > >>> t7.addNode('3') > >>> t7.addNode('9') > >>> print t7.left > None > 为什么是None而不是3? > > class BinaryTree: > > def __init__(self, key, left=None, right=None, parent=None): > self.key = key > self.left = left > self.right = right > self.parent = parent > > def __str__(self): > return str(self.left) > return str(self.key) > > def addNode(self,key): > """Add a node in the proper location.""" > if key < self.key: > if self.left: > self.left.addNode(key) > else: > self.left = BinaryTree(key, parent=self) > elif key > self.key: > if self.right: > self.right.addNode(key) > else: > self.right = BinaryTree(key, parent=self) >
2006年07月08日 星期六 20:14
None不等同于False,比较的时候要显示写出var==None 在06-7-8,linda. s <samrobertsmith at gmail.com> 写道: > > 是行了.好象逻辑没有改啊?为什么可以了? > > On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > 用如下代码, > > >>> t7=BinaryTree('5') > > >>> t7.addNode('3') > > >>> t7.addNode('9') > > >>> print t7.left > > None > > 为什么是None而不是3? > > > > class BinaryTree: > > > > def __init__(self, key, left=None, right=None, parent=None): > > self.key = key > > self.left = left > > self.right = right > > self.parent = parent > > > > def __str__(self): > > return str(self.left) > > return str(self.key) > > > > def addNode(self,key): > > """Add a node in the proper location.""" > > if key < self.key: > > if self.left: > > self.left.addNode(key) > > else: > > self.left = BinaryTree(key, parent=self) > > elif key > self.key: > > if self.right: > > self.right.addNode(key) > > else: > > self.right = BinaryTree(key, parent=self) > > > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -- 欢迎访问: http://blog.csdn.net/ccat 刘鑫 March.Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060708/2fa9f540/attachment.htm
2006年07月08日 星期六 20:17
On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > 是行了.好象逻辑没有改啊?为什么可以了? > 因为两个return,只能执行前面的,后面的是执行不了的。所以按照你的程序的意思,应该保留后面那个。 -- I like python! My Blog: http://www.donews.net/limodou My Django Site: http://www.djangocn.org NewEdit Maillist: http://groups.google.com/group/NewEdit
2006年07月08日 星期六 21:20
前面那个例子用'5','3'和'9', 下面直接用数字, >>> t9=BinaryTree(10) >>> t9.addNode(2) >>> t9.addNode(3) >>> t9.addNode(12) 用字符串和数字在程序里会不一样吗(对不起,我老是搞不清楚)? 另外一个问题是:有什么办法图示t9的结构(尤其是nodes越来越多以后),能用PYTHON写吗? On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > 用如下代码, > >>> t7=BinaryTree('5') > >>> t7.addNode('3') > >>> t7.addNode('9') > >>> print t7.left > None > 为什么是None而不是3? > > class BinaryTree: > > def __init__(self, key, left=None, right=None, parent=None): > self.key = key > self.left = left > self.right = right > self.parent = parent > > def __str__(self): > return str(self.left) > return str(self.key) > > def addNode(self,key): > """Add a node in the proper location.""" > if key < self.key: > if self.left: > self.left.addNode(key) > else: > self.left = BinaryTree(key, parent=self) > elif key > self.key: > if self.right: > self.right.addNode(key) > else: > self.right = BinaryTree(key, parent=self) >
2006年07月08日 星期六 21:43
On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > 前面那个例子用'5','3'和'9', > 下面直接用数字, > >>> t9=BinaryTree(10) > >>> t9.addNode(2) > >>> t9.addNode(3) > >>> t9.addNode(12) > 用字符串和数字在程序里会不一样吗(对不起,我老是搞不清楚)? string比较大小是从左至右的,只有位数相等时才和int一致。 例如: In [1]: 10<5 Out[1]: False In [2]: '10'<'5' Out[2]: True In [3]: '10'<'05' Out[3]: False 另外一个问题是:有什么办法图示t9的结构(尤其是nodes越来越多以后),能用PYTHON写吗? 从上至下递归遍历(先序或者后序无所谓),假设屏幕宽为80,根节点在第一行,"显示范围"是(0,79),两个子节点在第二行,"显示范围"分别为(0,39)和(40,79),以此类推,每个节点所在的行数等于其深度,"显示范围"是其父节点的前一半或者后一半。 最后每个节点最后就画在相应行的"显示范围"的正中间。 如果需要的话可以在行与行之间增加辅助符号,让它看起来更像一颗"树"。 事实上,屏幕的宽度有限,节点多了以后总是很难全画出来的。 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060708/4bb551b3/attachment.html
2006年07月08日 星期六 22:52
*你的这个实现,不是2叉树实现。* On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > 用如下代码, > >>> t7=BinaryTree('5') > >>> t7.addNode('3') > >>> t7.addNode('9') > >>> print t7.left > None > 为什么是None而不是3? > > class BinaryTree: > > def __init__(self, key, left=None, right=None, parent=None): > self.key = key > self.left = left > self.right = right > self.parent = parent > > def __str__(self): > return str(self.left) > return str(self.key) > > def addNode(self,key): > """Add a node in the proper location.""" > if key < self.key: > if self.left: > self.left.addNode(key) > else: > self.left = BinaryTree(key, parent=self) > elif key > self.key: > if self.right: > self.right.addNode(key) > else: > self.right = BinaryTree(key, parent=self) > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > > -- ※※※※※※※※※※※※※※※※※※※※※※※※ My blog: http://blog.donews.com/ygao Forum http://groups.google.com/group/python_study ※※※※※※※※※※※※※※※※※※※※※※※※ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060708/ed18d21f/attachment.htm
2006年07月09日 星期日 18:37
能给我一个在python里用2叉树的例子吗? On 7/8/06, ygao <ygao2004 at gmail.com> wrote: > 你的这个实现,不是2叉树实现。 > > > On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > > 用如下代码, > >>> t7=BinaryTree('5') > >>> t7.addNode('3') > >>> t7.addNode('9') > >>> print t7.left > None > 为什么是None而不是3? > > class BinaryTree: > > def __init__(self, key, left=None, right=None, parent=None): > self.key = key > self.left = left > self.right = right > self.parent = parent > > def __str__(self): > return str(self.left) > return str(self.key) > > def addNode(self,key): > """Add a node in the proper location.""" > if key < self.key: > if self.left: > self.left.addNode(key) > else: > self.left = BinaryTree(key, parent=self) > elif key > self.key: > if self.right: > self.right.addNode(key) > else: > self.right = BinaryTree(key, parent=self) > > _______________________________________________ > > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to > python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request at lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > > > > > > -- > ※※※※※※※※※※※※※※※※※※※※※※※※ > My blog: http://blog.donews.com/ygao > Forum http://groups.google.com/group/python_study > ※※※※※※※※※※※※※※※※※※※※※※※※ > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to > python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request at lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > >
2006年07月09日 星期日 19:41
On 7/8/06, limodou <limodou at gmail.com> wrote: > On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > def __str__(self): > > return str(self.left) > > return str(self.key) > > > > 这里多了一个return。把前面那个去掉。 def __str__(self): return str(self.key) 是什么意思?如果这是一个string的话, 为什么可以与2相加? >>> t.left.key+2 3 >>>
2006年07月09日 星期日 22:36
On 7/9/06, linda. s <samrobertsmith at gmail.com> wrote: > On 7/8/06, limodou <limodou at gmail.com> wrote: > > On 7/8/06, linda. s <samrobertsmith at gmail.com> wrote: > > > def __str__(self): > > > return str(self.left) > > > return str(self.key) > > > > > > > 这里多了一个return。把前面那个去掉。 > > def __str__(self): > return str(self.key) > 是什么意思?如果这是一个string的话, > 为什么可以与2相加? > >>> t.left.key+2 > 3 > >>> > key不就是一个结点的值嘛?要看程序啊。 你前一个示例用的字符串,但后一个示例却改为了整数,整数相加当然可以了。 -- I like python! My Blog: http://www.donews.net/limodou My Django Site: http://www.djangocn.org NewEdit Maillist: http://groups.google.com/group/NewEdit
2006年07月10日 星期一 07:00
def __str__(self): return str(self.key) 是什么意思?回一个字符串吗? > > >>> t.left.key+2 > > 3 > > >>> > > > key不就是一个结点的值嘛?要看程序啊。 > > 你前一个示例用的字符串,但后一个示例却改为了整数,整数相加当然可以了。 > > -- > I like python! > My Blog: http://www.donews.net/limodou > My Django Site: http://www.djangocn.org > NewEdit Maillist: http://groups.google.com/group/NewEdit > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese > >
2006年07月10日 星期一 08:27
On 7/10/06, linda. s <samrobertsmith at gmail.com> wrote: > def __str__(self): > return str(self.key) > 是什么意思?回一个字符串吗? 当然了,因为__str__就应该返回一个字符串啊。使用str()就是为了确定返回一个字符串。 -- I like python! My Blog: http://www.donews.net/limodou My Django Site: http://www.djangocn.org NewEdit Maillist: http://groups.google.com/group/NewEdit
2006年07月10日 星期一 11:33
我想从PDF文件中直接取得文本的内容,现在使用的方法是从文件中的Stream对象 中取得使用Flatedecode方式压缩的流数据,然后用 python的zlib解压缩,但是解 压缩后并不能还原出字符串的数据,我想并不是因为PDF的8bit编码的问题,因为 返回的数据很简单也很有规律,就像一段段“AAAAAA”,我是用16进制编辑器从PDF 的原文件中截取的流数据,在两个换行之间,我想这种截取方法不会有什么问题, 问题是不是出在解压缩方法不正确?有谁搞过这项工作可以指导一下我吗,谢谢。
2006年07月10日 星期一 22:20
我不了解pdf格式到底是怎么样的,请问你这样做前有没有了解过它的文件格式了。我原来用的是xpdf转换成文本文件的。
2006年07月11日 星期二 09:40
您好; 在这之前我看了一点PDF文件结构的参考,就是Adobe官方发的那个文档,它的 文件里面可以看见文本的标签,文件的实际内容比如文本和图片通常都是保存成流 对象(Stream Object),现在可以找到流的位置,因为用文本编辑器打开的时候 可以看到stream和endstream中间的内容,我现在不太了解pytyhon 的zlib模块中 的decompress()过程是不是适用于解压缩Flatedecode这种方法压缩的数据,能够 解压缩而不报错是没有问题的,但是解压缩的结果我想是不正确的,我用一个只有 一句英文的简单PDF文件试了一下,返回的结果不是字符串,还是二进制的数据, 但是里面包含了几乎90%的空字符 /x00(不知道我对这组符号是空字符的判断是否 正确),所以我想可能是解压缩的方法不对。 3751 写道: > 我不了解pdf格式到底是怎么样的,请问你这样做前有没有了解过它的文件格式 > 了。我原来用的是xpdf转换成文本文件的。 > ------------------------------------------------------------------------ > > _______________________________________________ > python-chinese > Post: send python-chinese at lists.python.cn > Subscribe: send subscribe to python-chinese-request at lists.python.cn > Unsubscribe: send unsubscribe to python-chinese-request at lists.python.cn > Detail Info: http://python.cn/mailman/listinfo/python-chinese
Zeuux © 2025
京ICP备05028076号