创建具有多个子节点的Python OOP树(decisiontree)

2024-09-20 22:59:39 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个树数据结构,我将如何从下面的链接开始构建这种OOP树格式的树。我对如何从某些父节点中指定一定数量的子节点感到困惑,因为它不仅仅是一种左右格式

下面是一个示例格式(不是整个树的)。客户需要选择是否订购,然后他们有3个产品类别可供选择,每个类别有6个产品,从每个产品中,他们可以选择小、中或大的尺寸,然后选择12或3个数量

                                                           'Order'

                              ******************/************************************************\

                          Yes***********Yes***********************Yes****************************No
                   /                     /                         /
         Category: Hot Drink,       Cold Drink,                   Food

            ///                         ///

  Tea, Mocha, HotChoc      Iced Tea, Iced Mocha, Iced HotChoc
  /      /       /             /        /           \

S,M,L  S,M,L   S,M,L      S,M,L        S,M,L       S,M,L

 /  /  /

  1,2,3 1,2,3, 1,2,3

这是来自http://www.openbookproject.net/thinkcs/python/english2e/ch21.html的文档

class Tree:
    def __init__(self, cargo, left=None, right=None):
        self.cargo = cargo
        self.left  = left
        self.right = right

    def __str__(self):
        return str(self.cargo)

Tags: selfright数量节点产品def格式left
1条回答
网友
1楼 · 发布于 2024-09-20 22:59:39

你需要可变数量的参数;然后从变量arg iterator构建一个列表

class Tree:
    def __init__(self, cargo, *children):
        self.cargo = cargo
        self.children = list(children)

    def __str__(self):
        return str(self.cargo)

相关问题 更多 >

    热门问题