I'm having a hell of a hard time trying to figure out why my print(Node(3).value)
is printing 0
. Any ideas?
When I run this code, I get
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
Any ideas? I know I'm not saving the Nodes anywhere but my mind can't wrap around it. Any help would be appreciated, thanks!
# 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)