Python递归过程详解
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递归过程详解相关推荐
- python的执行过程_在交互式环境中执行Python程序过程详解
前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...
- 洛谷 P1498 南蛮图腾 分治递归过程详解
题目描述 自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果,在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图 ...
- Linux在U盘安装python的过程详解
首先,说明,我是看了下面这个博客才学会的,但是他写的有点太高深了...对于我们这些Linux菜鸟来说还是不会做,下面我就把具体做的过程一步步详细展示出来,希望能帮助你们. 参考博客链接:http:// ...
- python怎么打开交互式窗口-在交互式环境中执行Python程序过程详解
前言 相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行.命令行窗口运行.开发工具上运行等,其中在不同的操作平台上还互不相同.今天,小编讲些Py ...
- python递归调用详解_Python递归调用自己的函数
原博文 2019-11-16 10:36 − def fact(x): if x == 1: return 1 else: return x * fact(x-1) ... 0 191 相关推荐 20 ...
- python属性使用教程_Python对象的属性访问过程详解
只想回答一个问题: 当编译器要读取obj.field时, 发生了什么? 看似简单的属性访问, 其过程还蛮曲折的. 总共有以下几个step: 1. 如果obj 本身(一个instance )有这个属性, ...
- python画动图-Python绘制动态水球图过程详解
先来看看绘制的动态水球图: 没有安装PyEcharts的,先安装PyEcharts: # 安装pyecharts模块,直接安装就是最新的版本pip install pyecharts 安装好PyEch ...
- python 文字语音朗读-python 利用pyttsx3文字转语音过程详解
这篇文章主要介绍了python 利用pyttsx3文字转语音过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 # -*- coding: ut ...
- python离线包安装_python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境...
python的pip是其包管理工具,相当方便好用.本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本.这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客 ...
最新文章
- org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in receiveBlock for block
- MyBatis 源码分析-技术分享
- 使用Maven创建Web项目后,jsp引入静态文件提示报错。JSP 报错:javax.servlet.ServletException cannot be resolved to a type...
- RabbitMQ实例教程:发布/订阅者消息队列
- Java!越来越像Kotlin了!!
- 如何为Kafka挑选合适的分区数
- 双十一 手淘技术用了这几招
- python 字符串替换多个_python同时替换多个字符串方法示例
- 大数据之-Hadoop环境搭建_安装hadoop---大数据之hadoop工作笔记0018
- mfc之CPtrArray数组
- 人的一生最后悔什么?——曾获各界名流都认同的忠告
- Apache Hadoop 2.4.1完全分布式集群安装
- wampserver修改默认根目录
- ua解析接口_截取字符串+ua解析访问来源+stream多级分组
- JAVA学习笔记之复用类之重载和重写
- java封装的注意事项_新手学习Java之对象---封装
- 全流程各工程类型地下水环境影响评价【一级】方法与MODFLOW Flex建模技术
- 首都师范 博弈论 5 3 1合作博弈与数学表达
- 计算机通信原理电子版,通信原理-西安电子科技大学.PDF
- memory hierachy
热门文章
- minifilter重定向
- 探索国内数字藏品平台,把控市场发展趋势
- mc4 安卓x86_MC4 2D HD游戏下载|
- 荒岛求生html5地图,《荒岛求生》各种物品使用方法及资源分布一览
- 低代码行业报告 -- 互联网未来之光
- 使用VLC开源库开发播放器
- ZT关于AA制的由来
- [UE4]让箭头保持水平的第二种方法:Combinrotators、Delta(Rotator)
- 5——7-2 动物世界 (15分)
- tellg和seekg_C ++ tellg(),seekg()和seekp()示例