Python 3.5.0'da bir ikili ağaç yapıyorum ve bunun için ekleme işlevini yapıyorum. Ben kendi içinde tree_insert
çağırdığınızda Ama bana bu hata veriyor bir sorun nedeniyle biraz çalıştırıyorum: test üzerinePython özyinelemeli fonksiyon tanımlanmamış mı?
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)
ayrıca ben özyinelemeli fonksiyonlar sadece çalışmaz öğrendim. Emin olmak için aşağıdaki kodu denedim ama bana aynı hata verdi:
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
kimse onu çok takdir :)
biraz uyumaya ihtiyacım ... çok teşekkür ederim –