python基础之递归函数

在python中我们使用函数经常是去调用别的函数,但是递归函数不一样,它是***自己去调用自己***,如果不了解递归的可以看下电影盗梦空间,相信会对理解递归函数有帮助。
递归函数的条件有两个:
1.必须给递归函数一个出口,否则会无限调用,耗费内存
2.对自己的递归条件作大胆假设
下面我们计算数学上经常计算的阶乘,阶加等算法

def scale(s):
    """
    使用递归函数来计算阶乘,阶加等
    :param s:
    :return:
    """
    if s == 1:
        return s
    else:
        # return s * scale(s - 1)
        return s + scale(s - 1)


print(scale(1))
print(scale(10))
print(scale(100))

在这里插入图片描述
除了使用递归函数,我们也可以使用迭代来进行计算:

def scales(n):
    """使用迭代来进行计算阶乘,阶加等"""
    pass
    result = 1
    for s in range(2, n+1):
        result += s
        # result *= s
    return result


print(scales(1))
print(scales(10))
print(scales(100))

同样和递归计算的结果一样
在这里插入图片描述
递归函数的好处:
1.代码比较少
2.代码界面整洁
坏处:
1.逻辑有点难理解
2.不写出口时耗费内存
当然我们只要能够计算出结果什么方式都可以,怎么简单怎么来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值