【发布时间】:2018-11-27 17:53:56
【问题描述】:
我需要有关递归表示家谱的帮助。这是数据:
children_and_parents = {
"Mary": ["Patricia", "Lisa"],
"Patricia": ["Barbara", "Helen", "Maria"],
"Maria": ["Keren", "Carol"],
"Barbara": ["Betty"]
}
我需要提到值是对象,所以我需要调用它们children_and_parents["Maria"].child 来获取['Patricia', 'Lisa']。
我目前拥有的递归程序:
def draw_family_tree(person, level=0):
if person in children_and_parents:
for i in range (len(children_and_parents[person].child)):
print (" "*level, person)
return draw_family_tree(children_and_parents[person].child[i], level+3)
它目前正在做的是:
Mary
Patricia
Barbara
但结果应该是这样的:
Mary
Patricia
Barbara
Betty
Helen
Maria
Keren
Carol
Lisa
我卡在程序的开头。如果有人愿意提供帮助,我将不胜感激。
【问题讨论】:
标签: python python-3.x object recursion family-tree