递归:不断地调用自身,用函数实现

  1. 死递归(死循环):

    def func():
    print(1)
    func()
    func()

    知识点:官方说明最大深度1000,但实际执行998或997以下,看电脑性能

  2. 满足两个条件才是递归

    1. 不断调用自身
    2. 有明确的终止条件
  3. 举例:以计算年龄为例

    def age(n):
    if n == 1:
    return 18
    else:
    return age(n-1)+2
    print(age(3)) #3代表执行三次

    拆解:

    ![image-20190627140416004](C:\Users\heyul\Desktop\image-20190627140416004.pngdef age1(n):
    if n == 1:
    return 18
    else:
    return age2(n-1)+2 def age2(n):
    if n == 1:
    return 18
    else:
    return age3(n - 1) + 2 def age3(n):
    if n == 1:
    return 18 print(age1(3)) 流程图:
    图中红色箭头是递的过程,蓝色箭头是归的过程

从入门到自闭之Python递归的更多相关文章

  1. 从入门到自闭之Python序列化

    序列化(背) json :将数据类型转换成字符串(序列化),将字符串装换成原数据类型(反序列),支持dict,list,tuple等,序列后都变成了列表 dumps,loads ------ 用于网络 ...

  2. 从入门到自闭之Python 基础习题训练

    """ name = input(">>>")通过代码来验证name变量是什么数据类型? """ na ...

  3. 从入门到自闭之Python解释器安装

    Python解释器的安装 1 下载 ​ 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...

  4. 从入门到自闭之Python集合,深浅拷贝(大坑)

    小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...

  5. 从入门到自闭之Python整型,字符串以及for循环

    Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: ​ print (in ...

  6. 从入门到自闭之Python入门

    python是一门解释型编程语言 变量名命名的规则: 变量名由字母,数字,下划线组成 变量名不能以数字开头 变量名要具有可描述性 变量名要区分大小写 变量名禁止使用python关键字 变量名不能使用中 ...

  7. 从入门到自闭之Python名称空间

    名称空间: 内置空间:python解释器自带的一块空间 全局空间:py文件中顶格写的就是全局空间 局部空间:函数体中就是局部空间 加载顺序: 内置空间 全局空间 局部空间 # def func(): ...

  8. 从入门到自闭之Python时间模块

    time模块:import time time.time():时间戳,是一个浮点数,按秒来计算 time.sleep():睡眠,程序暂停多少秒执行 python中时间日期格式化符号: 必背 %y 两位 ...

  9. 从入门到自闭之Python自定义模块

    自定义模块 定义:一个文件就是一个模块(能被调用的文件,模块就是一个工具箱,工具就是函数) 作用: 将代码文家化管理,提高可读性,避免重复代码 拿来就用(避免重复造轮子),python中类库比较多,提 ...

随机推荐

  1. AcWing:148. 合并果子(哈夫曼树)

    在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆. 达达决定把所有的果子合成一堆. 每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和. 可以看出 ...

  2. Paint the Digits

    C - Paint the Digits 思路:这道题就只需要利用单调栈,将整个数组扫一遍,求得的最后的栈内元素(要求全部小于非栈内元素)的颜色为1,其余为2 那么怎么实现呢?求最后的栈内元素(要求全 ...

  3. 免费馅饼~-~ (hdu 1176

    当我准备要写这个随笔的时候是需要勇气的. 掉馅饼嘛,肯定是坑. (hdu1176 话说,gameboy人品太好,放学回家路上有馅饼可捡.还就在0~10这11个位置里,当馅饼开始掉的时候,gameboy ...

  4. Linux之tomcat安装与配置

    1.创建目录 [root@bogon tomcat]#mkdir /usr/local/java/tomcat 2.上传压缩包并解压 [root@bogon tomcat]# tar xvf apac ...

  5. 「UVA12293」 Box Game

    题目链接 戳我 \(Solution\) 这道题第一眼看样例,猜了个结论偶数\(Alice\)赢,否则\(Bob\)赢,打了一发,交了上去果不其然的\(wa\)了,第二次猜\(2\)的幂次方\(Ali ...

  6. js上传图片获取原始宽高

    以vue上传图片为例: <template> <div> <input type="file" @change="uploadFile($e ...

  7. 12.数值的整数次方 Java

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 这道题看似简单,其实BUG重重.要注意的问题: 1 关于次幂的问题特殊的情况, ...

  8. setHasFixedSize(true)的意义 (转)

    RecyclerView setHasFixedSize(true)的意义 2017年07月07日 16:23:04 阅读数:6831 <span style="font-size:1 ...

  9. group_concat() 函数 拼接字符串长度有限制

    最近,在做一个行转列的存储过程,遇到一个问题,问题如下: 我用group_concat()函数 来整合一个月每天的操作量,并将每天的操作量用CONCAT()函数拼接成 “MAX(IF(t.a = '2 ...

  10. invalid new-expression of abstract class type 'CurveFittingEdge'

    目录 一 报错原因 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 报错原因 今天遇到了一个之前从未遇到的报错: error: invalid new-expression of abstr ...