python-递归函数
发布时间:2020-12-20 12:47:58 所属栏目:Python 来源:网络整理
导读:递归,就是在运行的过程中调用自己。 递归必须要有三个要素: ①、边界条件 ②、递归前进段 ③、递归返回段 当边界条件不满足时,递归前进;当边界条件满足时,递归返回。 递归经典的题目求解: n的阶层问题的求解: def recursive_func(num): """ 计算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 res res = recursive_func_1(5) # 5 * 4 * 3 * 2 * 1 print(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 res ret = fibonacci_sequence_1(10) print(ret) # [1,34,55,89,144] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |