递归----Python
#递归不仅仅是学习python中会遇到的一些问题,在学习每一个语言的过程中都会遇到递归。使用递归可以让复杂的循环变得简单。
递归:程序调用自身的行为
1、写一个数的阶乘
- #递归
- def factor(n):
- if n==1 or n==2:
- return n
- else:
- return n*factor(n-1)
- print(factor(4))
- 24
- #循环
- sum=1
- n = int(input('请输入一个数:'))
- for i in range(1,n+1):
- sum *=i
- print(sum)
- 24
2、斐波那契数列问题(也称作兔子繁殖问题,一列数从第三项开始,每一项的值都是前面两项的和,求第n项的值为多少)
- #循环
- def recur(n):
- a1 = 1
- a2 = 1
- if n<=2:
- return -1
- while n-2>0:
- a3 = a1 + a2
- a1 = a2
- a2 = a3
- n -= 1
- return a2
- print(recur(12))
- 144
- #递归
- def recur(n):
- if n==1 or n==2:
- return 1
- else:
- return recur(n-1)+recur(n-2)
- print(recur(12))
- 144
递归----Python的更多相关文章
- 用不动点组合子解递归(python实现)
不动点组合子 Y = λf. (λx. f (x x)) (λx. f (x x)) θ = (λx. λy. (y(x x y))) (λx.λy.(y(x x y))) Y f = f (Y f) ...
- 递归/非递归----python深度遍历二叉树(前序遍历,中序遍历,后序遍历)
递归代码:递归实现很简单 '二叉树结点类' class TreeNode: def __init__(self, x): self.val = x self.left = None self.righ ...
- 递归------python实现列表创建二叉树
# -*- coding:utf-8 -*- '二叉树结点类' class TreeNode: def __init__(self, x): self.val = x self.left = None ...
- python 内置&&递归
lambda 优点: 1:可以简单使用一个脚本来替代我们的函数 2:不用考虑命名的问题 3:简化代码的可读性,不用跳转到def了,省去这样的步骤 内置函数:bif filter:过滤器 map:映射 ...
- Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数
本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...
- python之三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(r ...
- python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...
- python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数
三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...
- Python全栈之路----目录
Module1 Python基本语法 Python全栈之路----编程基本情况介绍 Python全栈之路----常用数据类型--集合 Module2 数据类型.字符编码.文件操作 Python全栈之路 ...
随机推荐
- MySql中not in的优化
最近项目上用select查询时使用到了not in来排除用不到的主键id一开始使用的sql如下: select s.SORT_ID, s.SORT_NAME, s.SORT_STATUS, s.SOR ...
- Elasticsearch Windows下安装及配置集群
首先打开网址:https://www.elastic.co/cn/ 进入如下页面: 下载: 解压: 进入bin文件夹下,运行bat文件: 成功后打开浏览器输入地址: 安装head插件: 首先安装nod ...
- loadrunner 参数化-如何从数据库中取数据-连接数据库进行参数化
LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑就不切实际了,这时用连接数据库的功能就方 ...
- Qt551.窗口滚动条
1.代码的方式来创建 ScrollArea,然后使用 倒是 正常(有滚动条显示),但是此方式太麻烦 不如直接拖控件来的方便直观快捷. 但是,直接拖控件的方式 ScrollArea中无法显示出 滚动条, ...
- Idea 里明明配置了Tomcat,但是右上角任然没有Tomcat显示
问题截图如下: 上图明明配置了Tomcat,但是Idea右上角任然是Add Configurations 因为这个问题,困扰了好久.解决方法: 点击Add Configurations 出现如下界 ...
- ERROR:scala:Error:Object scala.runtime in compiler mirror not found
我的项目是sbt项目,今天早晨的时候还好好的,结果中午吃了个饭回来就特么的编译就报错了,真是闹心 报错截图: 解决方案: 删除idea的缓存文件 然后重新启动idea,重新下载jia包,在进行编译,就 ...
- ASP.NET MVC CSRF (XSRF) security
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站 ...
- C++(实验二)
实验结论 1.函数重载编程练习: 编写重载函数add(),实现对int型,double型,Complex型数据的加法.在main( )函数中定义不同类型 数据,调用测试. #include <i ...
- win10释放的wifi热点手机连不上
直入正题吧…… 在win10的搜索框里输入ser,找到“windows服务”选项,点击进入,如下图 找到下图所示的两个服务,然后,右键,属性,启动类型改为自动,然后点确定,确定完以后,再右键,点启动, ...
- 推荐好用的css调试工具,两个
一:Emmet LiveStyle(http://livestyle.io/) CSS,LESS和SCSS的第一个双向实时编辑工具. 官网说只适用与谷歌跟sublime,可以自行测试 1.subl ...