在pre-ord中打印BST

2024-10-02 04:16:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图打印出我的二叉树的预购形式,但我遇到了这些错误。我还在学习python,所以我不太清楚到底发生了什么。但我认为我的打印功能不能正常工作。但不太清楚preorder_print为什么会出现全局名称问题=/

输出:

>>> from BST_tree import *
pre order:
<BST_tree.Node instance at 0x0000000002AA0C88>

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    from BST_tree import *
  File "BST_tree.py", line 51, in <module>
    preorder_print(r)
  File "BST_tree.py", line 27, in preorder_print
    preoder_print(root.left)
NameError: global name 'preoder_print' is not defined

我的代码:

^{pr2}$

Tags: infrompyimporttree错误line形式
1条回答
网友
1楼 · 发布于 2024-10-02 04:16:44

这是一个简单的输入错误:您定义了preorder_print,但试图调用preoder_print。在

当您看到这样的错误消息时:

NameError: global name 'preoder_print' is not defined

……不要太担心“全球”部分。问题是名称在任何地方都没有定义,甚至在全局变量中也没有定义。*所以,开始寻找为什么没有定义它。在

像这样的打字错误很容易犯,所以我通常要检查的第一件事就是:从错误消息中复制字符串,然后粘贴到搜索中。在


*这有点过于简单,但现在已经足够好了。它的意思是,首先编译器在编译时找不到它作为本地名或闭包名,所以假设它是全局名,然后解释器在运行时找不到它作为全局名或内置名。在

相关问题 更多 >

    热门问题