1. 递归

① 递归算法将子问题变成与大问题形式相同,规模缩小的问题,形成递归。

② 找到子问题与大问题之间关系,形成递归表达式。

def fib(n):if n<1:print('wrong')else:if n == 1 or n == 2:return 1else:return fib(n-1)+fib(n-2)#   print(fib(n-1)+fib(n-2))  # 报错,因为print()函数没有返回值,递归回返的时候递归进行不下去。#  例如:f(4) = print(f(3)+f(2)) = print(print(f(2)+f(1))+f(2)) 由于print(f(2)+f(1))的返回值是None,所以无法递归返回print(fib(8))

运行结果:

  • 21

[ 完 ]

[ Python 其他笔记,见 "我的主页→专栏" ]


2. 分享经验

目前,使用Python两年了,分享一点自己的经验

2.1 学习

① 找手撕代码的视频,一句一句写代码,还讲自己是如何思考的视频,不要找老师直接讲一套写好了的代码的视频。

② 找点击量比较高的老师(群众的眼睛是雪亮的),代表优秀的教学,但是要找适合自己的老师(能激发你学计算机兴趣的老师)。

③ 不管多简单的程序都要自己打一下,看一遍依旧是别人的,做了一遍,才是自己的。只有做一遍才会获得经验,"模仿+总结" 是学习非常快的方法。

2.2 验证

① 我学Python的时候,有时候代码会报错,就主动调试代码,打印变量的值,通过变量值是否符合自己的预期,让自己知道该段程序是否正常运行,从而确定报错的位置和原因。

② 我加了一些Python学习微信群,我有些知识点(or代码)不懂的时候,我就问她们,然后把她们的阐述,组织语言、逻辑,反述出来,这样吸收率非常高。

③ 学习路上经常会碰到疑惑的问题,碰到不懂的问题,搜索相关信息,有一个猜想,然后请教别人来验证猜想,不让别人灌输知识。 别人灌输的,记不牢;验证后的记得牢,并且有成就感。

2.3 大忌

① 学Python的大忌:学到某个知识点,发现有点晦涩难懂,就不继续往前学,不停的反复琢磨其中的原理。

② 如果已经实现了需求,但是不是很理解其中的原理,先尽量理解原理,如果不理解,继续往前学,因为有些原理是通过后面的知识进行理解的,全部学完后会发现有些以前不懂的豁然开朗。

2.4 讲解

① 如果一个问题,能给别人讲的非常清晰明了,这才说明自己是真的懂了,而且讲解完后这个知识点会记得非常深刻。

② 举个例子,别人问自己一道题目(或知识点),虽然自己以前没有遇到过这道题,但是自己把它做出来了,并且给别人讲清楚了,那么自己这道题里面的知识点会理解的很透彻、记得非常深刻。

Python递归过程详解相关推荐

  1. python的执行过程_在交互式环境中执行Python程序过程详解

    前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...

  2. 洛谷 P1498 南蛮图腾 分治递归过程详解

    题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图 ...

  3. Linux在U盘安装python的过程详解

    首先,说明,我是看了下面这个博客才学会的,但是他写的有点太高深了...对于我们这些Linux菜鸟来说还是不会做,下面我就把具体做的过程一步步详细展示出来,希望能帮助你们. 参考博客链接:http:// ...

  4. python怎么打开交互式窗口-在交互式环境中执行Python程序过程详解

    前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...

  5. python递归调用详解_Python递归调用自己的函数

    原博文 2019-11-16 10:36 − def fact(x): if x == 1: return 1 else: return x * fact(x-1) ... 0 191 相关推荐 20 ...

  6. python属性使用教程_Python对象的属性访问过程详解

    只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 看似简单的属性访问, 其过程还蛮曲折的. 总共有以下几个step: 1. 如果obj 本身(一个instance )有这个属性, ...

  7. python画动图-Python绘制动态水球图过程详解

    先来看看绘制的动态水球图: 没有安装PyEcharts的,先安装PyEcharts: # 安装pyecharts模块,直接安装就是最新的版本pip install pyecharts 安装好PyEch ...

  8. python 文字语音朗读-python 利用pyttsx3文字转语音过程详解

    这篇文章主要介绍了python 利用pyttsx3文字转语音过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 # -*- coding: ut ...

  9. python离线包安装_python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境...

    python的pip是其包管理工具,相当方便好用.本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本.这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客 ...

最新文章

  1. org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in receiveBlock for block
  2. MyBatis 源码分析-技术分享
  3. 使用Maven创建Web项目后,jsp引入静态文件提示报错。JSP 报错:javax.servlet.ServletException cannot be resolved to a type...
  4. RabbitMQ实例教程:发布/订阅者消息队列
  5. Java!越来越像Kotlin了!!
  6. 如何为Kafka挑选合适的分区数
  7. 双十一 手淘技术用了这几招
  8. python 字符串替换多个_python同时替换多个字符串方法示例
  9. 大数据之-Hadoop环境搭建_安装hadoop---大数据之hadoop工作笔记0018
  10. mfc之CPtrArray数组
  11. 人的一生最后悔什么?——曾获各界名流都认同的忠告
  12. Apache Hadoop 2.4.1完全分布式集群安装
  13. wampserver修改默认根目录
  14. ua解析接口_截取字符串+ua解析访问来源+stream多级分组
  15. JAVA学习笔记之复用类之重载和重写
  16. java封装的注意事项_新手学习Java之对象---封装
  17. 全流程各工程类型地下水环境影响评价【一级】方法与MODFLOW Flex建模技术
  18. 首都师范 博弈论 5 3 1合作博弈与数学表达
  19. 计算机通信原理电子版,通信原理-西安电子科技大学.PDF
  20. memory hierachy

热门文章

  1. minifilter重定向
  2. 探索国内数字藏品平台,把控市场发展趋势
  3. mc4 安卓x86_MC4 2D HD游戏下载|
  4. 荒岛求生html5地图,《荒岛求生》各种物品使用方法及资源分布一览
  5. 低代码行业报告 -- 互联网未来之光
  6. 使用VLC开源库开发播放器
  7. ZT关于AA制的由来
  8. [UE4]让箭头保持水平的第二种方法:Combinrotators、Delta(Rotator)
  9. 5——7-2 动物世界 (15分)
  10. tellg和seekg_C ++ tellg(),seekg()和seekp()示例