【发布时间】:2018-08-12 06:33:37
【问题描述】:
我很难弄清楚为什么我的print(Node(3).value) 正在打印0。有什么想法吗?
当我运行这段代码时,我得到了
First: 6 Value: 8 Children: [9]
First: 8 Value: 23 Children: [9]
First: 3 Value: 3 Children: [5]
First: 6 Value: 8 Children: [7]
First: 4 Value: 20 Children: [8]
First: 1 Value: 17 Children: [8]
First: 8 Value: 23 Children: [10]
First: 5 Value: 11 Children: [8]
First: 1 Value: 17 Children: [2]
0
有什么想法吗?我知道我没有将节点保存在任何地方,但我的思绪无法绕开它。 任何帮助将不胜感激,谢谢!
# Complete the primeQuery function below.
n = 10
first = [6, 8, 3, 6, 4, 1, 8, 5, 1]
second = [9, 9, 5, 7, 8, 8, 10, 8, 2]
values = [17, 29, 3, 20, 11, 8, 3, 23, 5, 15]
queries = [1, 8, 9, 6, 4, 3]
class Node(object):
def __init__(self, data, value=0):
self.data = data
self.value = value
self.children = []
def addChild(self, child):
self.children.append(child)
def setValue(self, givenV):
self.value = givenV
def primeQuery(n, first, second, values, queries):
i = 0
while i < n - 1:
f = Node(first[i], values[first[i] - 1])
s = Node(second[i], values[second[i] - 1])
f.addChild(s.data)
print(f"First: {f.data} Value: {f.value} Children: {f.children}")
i += 1
print(Node(3).value)
primeQuery(n, first, second, values, queries)
【问题讨论】:
-
你没有保存你的
Node对象f&s -
Node(3)将创建一个带有value = 0的Node。 -
@AzatIbrakov,哦,呵呵!嗯,但我对如何实际保存它们有点困惑?
-
@KlausD。 ,是的,看到我的代码是有道理的。但是有没有关于如何保存对象的示例 sn-p?
-
这取决于您要构建的数据结构
标签: python python-3.x tree