Родословное дерево в Python
Мне нужно смоделировать генеалогическое древо из четырех поколений, начиная с пары. После этого, если я введу имя человека и отношение, такое как "брат", "сестра" или "родитель", мой код должен вывести братьев, сестер или родителей этого человека. У меня достаточно знаний о питоне и самоучка в DSA. Я думаю, что мне следует смоделировать данные в виде словаря и кода для дерева DS с двумя корневыми узлами (т. Е. Первой парой). Но я не уверен, как начать. Мне просто нужно знать, как начать моделировать генеалогическое древо и как перейти к коду. Заранее спасибо!
1 ответ
Есть много способов снять шкуру с кошки, но я бы предложил создать:
Person
класс, который содержит соответствующие данные об индивидууме (пол) и данные о прямых отношениях (родители, супруг, дети).- Словарь, отображающий имена в
Person
элементы.
Это должно позволить вам ответить на все необходимые вопросы, и он достаточно гибок, чтобы обрабатывать все виды родословных (в том числе не в форме дерева).