Python|递归应用

问题描述在Python的运算中会经常用到递归,下面小编将会用简单的代码做一个解释示例。解决斐波拉数列时我们之前用的是for循环,现在用递归的方法运算,实践一下。解决方案首先用def定义一个函数f(),使用if判断语句进行判断,用return进行层层递归,最后给n赋一个值,就会得到运行结果5。同样还是先定义一个函数,始值就是0,1,知道斐波那数列中的第三项是前两项的和就会有a=b,b=a+b,最后给n一个值,即是在求第n项的值。代码:def f(n):if n == 5:return 5return f(n+1)print(f(1))def f(n,a,b):if n==1:return 0if n ==2:return breturn f(n-1,b,a+b)print(f(5,0,1))结语经过实例我们可以看出递归和循环的应用有点相似,但又不同。递归在之后的编程会经常用到。因为与循环相比代码较简短,使用方便,还可以对函数的定义,判断语句进行巩固。END主  编   |   王楠岚责  编   |   猫先生能力越强,责任越大。实事求是,严谨细致。——where2go 团队微信号:算法与编程之美

(0)

相关推荐

  • 第118天:Python 之对象的比较与拷贝

    众所周知,Python 是一门面向对象语言,在 Python 的世界一切皆对象,那么我们如何判断两个对象是否是同一个对象呢. == 操作符和 is 相信大家对于这两个操作符都不陌生.具体来说就是 == ...

  • python函数

    当代码越写越长在时,全部放在一块儿会不太好看,也不好找想要的东西.同时,当一段代码需要重复使用时,复制粘贴也不太方便,可以用函数来解决这个问题. 1.函数的定义 在python中,函数的声明和定义是一 ...

  • Python 工匠:让函数返回结果的技巧

    原创 piglei piglei 2019-03-04 毫无疑问,函数是 Python 语言里最重要的概念之一.在编程时,我们将真实世界里的大问题分解为小问题,然后通过一个个函数交出答案.函数即是重复 ...

  • 第5天:Python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础. 函数能提高应用的模块性,和代码的重复利用率.在程序设计中,常将一些常用的功能模块编写成函数 ...

  • Python|递归法判断平衡二叉树

    问题描述给定一个二叉树,判断它是否是高度平衡的二叉树.本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 输入:root = [3, 9, 20, nu ...

  • Python|利用递归轻松解决数的乘方问题

    问题描述求一个数的乘方,数学公式如下是成立的示例: 我们可以将乘方的运算转换为乘法的运算输入: ,定义 ,b=y/2输出: 解决方案求x的y次方的值,当y是偶数时,最后能转换成两个数相乘,当y是奇数时 ...

  • Python | 一路递归深似海

    问题描述 不知道小伙伴们在写代码时有没有遇到这种情况:每次写递归就莫名其妙地写出来了,没运行之前自己完全不知道对不对,就是写递归完全靠直觉.又或者一路递归深似海,从此回不来--,接下来让我们好好研究研 ...

  • Python|奇/偶数倒数求和之循环与递归的奥秘

    前言今天我们来解决粉丝提出的一个问题,如图: 问题描述编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n,输出结果示例:输 ...

  • Python 编程别再用递归了

    递归函数使用起来非常酷,简洁优雅,可以用来炫耀编程技巧.但是,在大多数情况下,递归函数具有非常高的时间和空间复杂性,我们应该避免使用它.更好的解决方案之一是在可能的情况下使用动态规划,对于能够分解为子 ...

  • 使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测

    原文链接 :http://tecdat.cn/?p=19542 时间序列预测问题是预测建模问题中的一种困难类型. 与回归预测建模不同,时间序列还增加了输入变量之间序列依赖的复杂性. 用于处理序列依赖性 ...

  • Python | 循环与递归的区别

    根据面向对象程序设计的思想,对象包括属性(数据)和方法(操作).其实,递归和循环就相当于两种非常相似的操作,但是它们都有适合自己操作的数据.可以把一个问题看作一个对象,问题由数据(问题没有解决时的状态 ...

  • Python| 函数中运用递归方式求解

    问题描述有一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?解决方案首先对题目分析,根据题目可用数学等比数列将其值运算得出,由题目 ...

  • Python|二叉树叶子结点问题解决方法

    问题描述键盘输入一颗二叉树,求解其叶子结点个数.示例: 输入:4,2,6,1,3,5输出:3解决方案一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称"叶子".当二叉树为空时 ...