类内的递归

问题描述

| 我试图将递归公式放在类语句中
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)
但是我一直收到错误消息NameError:全局名称\'recursfunc \'未定义     

解决方法

        您需要使用
self.recursfunc()
    ,        
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)