zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python使用技巧(四):类中的递归和类里的类里的...的递归

Python递归 技巧 ... 类中 使用
2023-09-14 09:09:14 时间

类中携带递归函数:

class add:
    # n = 0
    def __init__(self,x,y):
        self.x = x
        self.y = y
    def funadd(self):
        return self.x + self.y
    def mulit0(self,n):
        if n == 0:
            return 1
        return n * self.mulit0(n - 1)


S = add(5,6)
print(S.funadd())
print(S.mulit0(7))

实现结果:

11
5040

整个类属于递归:

class recursion_class:
    def rec_fun(self, num):
        print(num, end=" ")
        if num > 1:
            print(" * ",end=" ")
            return num * self.rec_fun(num-1)
        print(" = ")
        return 1

def main(x):
    ret = recursion_class()
    return  recursion_class.rec_fun(ret, x)

for i in range(8):
    print(main(i))

实现结果:

0  = 
1
1  = 
1
2  *  1  = 
2
3  *  2  *  1  = 
6
4  *  3  *  2  *  1  = 
24
5  *  4  *  3  *  2  *  1  = 
120
6  *  5  *  4  *  3  *  2  *  1  = 
720
7  *  6  *  5  *  4  *  3  *  2  *  1  = 
5040