zoukankan      html  css  js  c++  java
  • COMP9021--7.18

    从今天开始引入递归的概念

    1. 为了避免递归过程中陷入死循环,一定要在最开始的时候就写好递归结束的条件

    2. 递归的本质是通过解决smaller input,并用其结果得到下一步的output,类推直至约定的递归终止点

    3. yield的作用是把一个函数变成一个generator,它与函数的不同之处在于生成generator看起来像是函数调用,但不会执行任何函数操作,直到调用next。在for循环执行时,每次循环执行到yield时,语句就会中断,函数就会返回一个迭代值,下次迭代时,代码将从yield的下一条语句继续执行,直到再次碰见yield

    4. iter()也是为了生成迭代器 (used in list, tuple...)

    5. 补充一个上节课的知识点,序列解包:

    a=[0,1,2,3,4]

    >>>d(*a)

    0 1 2 3

    6. 需要注意的一点,就是默认初值指的是默认一个原始位置,但是随着语句的执行,如果多次调用默认初值,其结果也会随之变化,如图:

    7. 6中的解决方案是将默认初始值设置为空,每次遇到为空的情况就建立一个新的list:

     

    8. quiz就是要找1组成的最大长方形

  • 相关阅读:
    338. 比特位计数
    300.最长上升子序列
    git 钩子服务代码
    thinkphp5.1 封装文件上传模块
    Theano 基础
    使用anaconda和pycharm搭建多python本版的开发环境
    GIT常用命令
    Thinkphp 获取数据表随机值
    在Windows中利用.bat提交git代码到不同分支
    Windows .bat 常量
  • 原文地址:https://www.cnblogs.com/eleni/p/11213496.html
Copyright © 2011-2022 走看看