为什么不保存树的节点(Python)

2024-10-02 22:26:22 发布

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

我编写了这段代码,应该为tris游戏创建一个树,从一个3x3列表开始,为游戏的每个可能结果创建一个树。当执行gen_tree时,它创建了上述三个节点,但当我使用函数scorri时,它显示只有第一个nodotris对象实际保存了他的叶子,事实上,当scorri在lista_figli中搜索子节点时,它会得到空白列表

def gen_tree(griglia):
nodo=NodoTris(griglia)
nodo.nome=griglia
tip=nodo.tipo()
vuoti=vuoto(griglia)
if tip=='?':
    x=0
    y=0
    while x<3:
        y=0
        while y<3:
            if nodo.nome[x][y]=='':
                nodof=NodoTris(nodo.nome)
                nodof.nome=copy.deepcopy(nodo.nome)
                if vuoti%2==0:
                    nodof.nome[x][y]='x'
                else:
                    nodof.nome[x][y]='o'    
                nodo.lista_figli.append(nodof)
            y+=1
        x+=1


for n in nodo.lista_figli:
    gen_tree(n.nome)

scorri(nodo)   

Tags: tree游戏列表if节点gentipnome