Как создать дерево решений и пройти по нему в Python - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь создать дерево в python, которое выглядит как эта диаграмма:

Диаграмма

Как мне написать код в Python, чтобы создать это дерево и найти данный «ответ» или листовой узел, учитывая пол и цвет.

Например:

Input: { Gender : "Female", Color : "Green" }

Output: "Message 5"

Я собираюсь добавить больше уровней и узлов, поэтому я пытаюсь создать представление в виде дерева, а не кучу операторов «if», поскольку это может быть беспорядочно.

1 Ответ

2 голосов
/ 04 августа 2020

Вы можете создать дерево в структуре dict, например:

tree = {'Male': {'Red': 'Message 1', 'Green': 'Message 2', 'Blue': 'Message 3'}, 
        'Female': {'Red': 'Message 4', 'Green': 'Message 5', 'Blue': 'Message 6'}}

Тогда обход этого дерева - не что иное, как поиск ключей, например:

In []:
i = {'Gender' : "Female", 'Color' : "Green" }
tree[i['Gender']][i['Color']]


Out[]:
"Message 5"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...