Recursion inside the class

I am trying to put a recursive formula inside a class statement

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)

However, I keep getting a NameError error message: the global name 'recursfunc' is not defined

+5
source share
2 answers

You need to use self.recursfunc()

+11
source
def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(7)
0
source

All Articles