Discuss / Python / 有个小问题

有个小问题

Topic source

def fact(n,product=1):

    if n == 1 :

        return product

    return fact(n-1,n * product)

看了上面廖老师举例的尾递归函数,不明白为什么要定义两个fact 和 fact_iter,于是自己写了个fact函数,但由于Python不能优化尾递归函数,所以不能同通过测试fact(1000) 的方法判定我这个是不是尾递归函数。

所以想问一下大佬们:①我这个是不是尾递归?

                                    ②如果是的话和上面老师的尾递归函数是不是等价的?


  • 1

Reply