我正在学习如何通过设计一个家谱来制作列表。下面是一种方法,我想出了,但有麻烦打印结果。例如:
如果A有两个孩子,B&C。。。 B有两个孩子,D&E。。。 而C只有一个孩子,F。。。你知道吗
我想把结果打印出来:[A,[B,[D,E]],[C,[F]]
如果您对我的代码有任何改进,建议如何打印上述结果,或以图形形式打印,我们将不胜感激。你知道吗
class FamilyTree:
def __init__(self, root):
self.name = [root]
nmbr = int(input("How many children does " + root + " have?"))
if nmbr is not 0:
for i, child in enumerate(range(nmbr)):
name = input("What is one of " + root + "'s child's name?")
setattr(self, "child{0}".format(i), FamilyTree(name))
r = print(FamilyTree('A'))
将对象创建与输入和输出分离是一个好主意。另外,使用
setattr
会增加输出的编写难度。你知道吗下面是一个解决方案,允许您创建一个
FamilyTree
,可以读取用户的输入,也可以不读取用户的输入:输出
可以使用} 方法:
print()
函数调用的^{相关问题 更多 >
编程相关推荐