Родословное дерево в Python

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

1 ответ

Есть много способов снять шкуру с кошки, но я бы предложил создать:

  1. Person класс, который содержит соответствующие данные об индивидууме (пол) и данные о прямых отношениях (родители, супруг, дети).
  2. Словарь, отображающий имена в Person элементы.

Это должно позволить вам ответить на все необходимые вопросы, и он достаточно гибок, чтобы обрабатывать все виды родословных (в том числе не в форме дерева).

Другие вопросы по тегам