Было бы проще сделать это с помощью рекурсивного метода в вашем классе Node
. Примерно так, хотя вам нужно будет добавить что-то, чтобы обеспечить значение для каждого Node
экземпляра:
class Node:
def __init__(self):
self.children = []
def create_children(self, num_children, depth):
if depth == 0: # base case
return
for i in range(num_children):
child = Node()
self.children.append(child)
child.create_children(num_children, depth-1) # recurse!
Ваш код Tree
может просто создать узел root и вызвать root.create_children(n, t)
(или, может быть, t-1
, я не уверен, должен ли root считаться частью глубины).