私はPython 3.5.0でバイナリツリーを作っています。私はそのための挿入関数を作っています。しかし、私は自分自身の内側tree_insert
を呼び出すとき、それは私にこのエラーを与える問題のビットに実行している:テスト時Pythonは再帰関数を定義していませんか?
File "D:/MadeUpPath/BinaryTree.py", line 10, in tree_insert
tree_insert(data, self.left)
NameError: name 'tree_insert' is not defined
class BinaryTree():
def __init__(self, data):
self.left = None
self.right = None
self.data = data
def tree_insert(self, data):
if (data < self.data):
if (self.left != None):
tree_insert(data, self.left)
else:
self.left = BinaryTree(data)
else:
if (self.right != None):
tree_insert(data, self.right)
else:
self.right = BinaryTree(data)
さらに私は、再帰関数は、単に動作しないことが分かりました。私は確かに次のコードを試みたが、私に同じエラーました:誰もが、それははるかに高く評価されるだろう正しい方向に私を指すことができる場合
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
File "D:/MadeUpPath/BinaryTree.py", line 23, in factorial
return n * factorial(n - 1)
NameError: name 'factorial' is not defined
を:)
私はいくつかの睡眠を得るために必要があります...ありがとうございました –