帮我生成一张使用函数生成一张阶层表的代码
时间: 2024-10-07 13:04:02 浏览: 22
js代码-js数学阶层算法
在Python中,你可以使用递归函数来生成一个阶层表,模拟层级结构。这里是一个简单的例子,假设我们有一个人际关系树,每个人都有一个`parent`属性表示他们的上级:
```python
# 定义一个简单的Person类
class Person:
def __init__(self, name, level=0):
self.name = name
self.level = level
# 返回当前人的层级信息
def get_level_info(self):
return f"{self.name} ({self.level}层)"
# 创建一些人作为根节点
root1 = Person("A", 0)
root2 = Person("B", 0)
# 递归生成阶层表
def generate_hierarchy_table(persons, level=0):
if not persons:
return []
result = [person.get_level_info() for person in persons]
children_of_current_level = [child for parent in persons for child in parent.children] # 假设每个人都有一个children属性存储下级
next_level_table = generate_hierarchy_table(children_of_current_level, level + 1)
return result + ["-" * (level * 4) + " " + "\n" + "-" * (level * 4) + " " + "\n".join(next_level_table)]
# 添加子级,这里为了简单起见,只设置了一个直接下属
root1.children = [Person("C", 1)]
root2.children = [Person("D", 1)]
# 生成并打印阶层表
table = generate_hierarchy_table([root1, root2])
for line in table:
print(line)
阅读全文