我正在寫一個簡單的應用程序,它包含一個代表英語的樹。我在C++中做了類似的事情,但這是我第一次在Python中構建樹。樹建築邏輯故障
englishWords = []
englishFile = open("english.txt")
for line in englishFile:
englishWords.append(line.rstrip())
class Node:
def __init__(self, value):
self.Value = value
self.checked = False
self.Pointers = []
self.numPointers = 0
def addNode(self, value):
x = Node(value)
self.Pointers.append(x)
return x
headString = "HEAD"
Head = Node(headString)
def buildPointers(parent, info, nodeList):
x = 0
y = len(nodeList)
while x < y :
if parent.numPointers == 0:
newNode = parent.addNode(info)
parent.numPointers = parent.numPointers + 1
buildPointers(newNode, nodeList[x+1], nodeList)
break
else:
for i in parent.Pointers:
if info == i.Value:
buildPointers(i, nodeList[x+1], nodeList)
continue
else:
newNode = parent.addNode(info)
parent.numPointers = parent.numPointers + 1
buildPointers(newNode, nodeList[x+1], nodeList)
continue
def treeBuild(lyst):
for i in lyst:
iList = list(i)
buildPointers(Head, iList[0], iList)
treeBuild(englishWords)
當我運行代碼的Windows寫着「python.exe已經停止運行」這可能是一些簡單,我忽略了,可以隨意撕開了我還是我寫這個的方式。我會喜歡任何批評,這將有助於使我成爲更好的程序員。
您應該在某個終端窗口或IDE中運行此代碼,以便您可以查看回溯。 –
運行它,由於過量的遞歸,我得到一個'RuntimeError'。 –