2011-06-14 21 views
5

que estoy tratando de colocar una fórmula recursiva dentro de una declaración de claserecursión dentro de una clase

class SomeNode: 

    def __init__(self, a): 
     leng = len(a) 
     half= leng/2 
     self.firstnode=a[0][0] 
     self.child1=SomeNode([a[i]for k in range(leng)]) 
     self.child2=SomeNode([a[j] for j in range(leng)]) 


    def recursfunc(self): 
     print self.firstnode 
     recursfunc(self.child1) 
     recursfunc(self.child2) 

Sin embargo sigo recibiendo el mensaje de error NameError: nombre 'recursfunc' global no está definido

+0

Su constructor tiene una recursión infinita. Y '[a [j] para j en rango (leng)]' con 'leng = len (a)' puede abreviarse con 'a'. –

Respuesta

10

Es necesario use self.recursfunc()

+0

ohh Veo gracias =) – LostLin

+3

O mejor 'self.child1.recursfunc()'. – Howard

Cuestiones relacionadas