У меня есть график, который имеет следующие пути {45,412,460,462},{45,457}
Ключевая ошибка в придании веса к узлам питона
Я должен назначить веса таким образом, что от листа к корню:
Все листовые узлы получают вес
Если узел имеет одного ребенка: Тогда вес узла становится * вес своего единственного ребенка
Если узел имеет двух или более детей, то вес этого узла:
вес его ребенка1 * вес child2 * A * B
например, выход конечные веса узла:
462: А, 457: А, 460: А * А, 412: (А * А * А), 45: А * в (А * А * А * А)
Я работаю с код в python
Я получаю keyerror 412:
У меня есть три словаря:
parent_of[node['id']]=parent # parent of a node as value
child_of[node['id']]=children # the list of children of a node
no_child_of[node['id']]=len(child_of[node['id']]) # number of children
#assigning weights to leaf
for c in no_child_of.keys():
if no_child_of[c]==0:
weight[c]=A
# assigning weight to the parent
for w in weight.keys():
par=parent_of[w]
n=len(child_of[par])
if n > 1:
weight[par]=B
for i in range(n):
weight[par]=weight[par]*weight[child_of[par][i]]