python-递归函数

python-递归函数,第1张

概述递归,就是在运行的过程中调用自己。 递归必须要有三个要素: ①、边界条件 ②、递归前进段 ③、递归返回段 当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 递归经典的题目求解: n的阶层问题的求解: def recursive_func(num): """ 计算num的阶层:num*(num-1)*(num-2).... :param num: 输入一个数字

递归,就是在运行的过程中调用自己。

递归必须要有三个要素:

①、边界条件

②、递归前进段

③、递归返回段

当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

递归经典的题目求解: n的阶层问题的求解:
def recursive_func(num):    """    计算num的阶层:num*(num-1)*(num-2)....    :param num: 输入一个数字    :return:返回递归计算后的值    """    if num == 1:        return 1    elif num <= 0:        print("输入错误")    else:        return num * recursive_func(num-1)res = recursive_func(0)print(res)

怎么样不要用递归去实现。。

def recursive_func_1(num):    """    不采用递归的方式进行计算num的阶层    :param num: 一个数字    :return: 返回递归的计算后的值    """    res = 1    if num <= 0:        print("输入错误")    for i in range(1,num + 1):        res *= i    return resres = recursive_func_1(5)  # 5 * 4 * 3 * 2 * 1print(res) # 120
实现n个斐波那契数列
# 递归方式:def fibonacci_sequence(n):    """    实现n个斐波那契数列    :param n: 数字    :return: 返回斐波那契数    """    if n == 1:        return 1    elif n == 2:        return 1    else:        return fibonacci_sequence(n-1) + fibonacci_sequence(n-2)ret = fibonacci_sequence(10)res = [fibonacci_sequence(i) for i in range(1,10)]  # [1,1,2,3,5,8,13,21,34]print(res)# 不是递归的方法def fibonacci_sequence_1(n):    """    计算n个斐波那契数列:    :param n: 数字    :return: 放回斐波那契数:    """    res = [1,1]    while n > 0:        res.append(res[-1]+res[-2])        n -= 1    return resret = fibonacci_sequence_1(10)print(ret)  # [1,34,55,89,144]
总结

以上是内存溢出为你收集整理的python-递归函数全部内容,希望文章能够帮你解决python-递归函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1195418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存