[第1课]
程序数据类型与变量介绍
主题:本集通过实际程序编辑与运行的演示,介绍了一些简单的计算机程序,包括数据类型、输出函数、变量定义等一些简单概念。
[第2课]
二进制数
主题:本集通过与十进制对比,介绍了二进制的概念,并详细讲解了0到10的二进制表示。
[第3课]
Python列表
主题:本集介绍了列表这种数据类型的概念,然后从列表元素的引用及列表的复制等方面,详细介绍了列表的一些性质,并在编译器中进行了演示。
[第4课]
Python的for循环
主题:本集先介绍了range函数的定义及应用,在些基础上着重讲解了for循环语句,并用它实现列表输出及求和,最后详细介绍了for循环语句的原理。
[第5课]
Python的while循环
主题:本集与for循环作对比,用0到9的数字求和的例子,介绍了while循环的写法和功能;其中还介绍了注释的作用。
[第6课]
玩转字符串
主题:本集详细讲解了字符串的定义和简单的调用,以及一些字符串有关函数的调用问题。
[第7课]
一个简单的阶乘程序
主题:第7集视频主要介绍了for循环,并利用for循环写出了一段求输入值阶乘的函数。
[第8课]
逐步分析阶乘程序
主题:第8集视频对上一集视频里写出的求阶乘程序进行了仔细的逐行分析,展示了for循环是怎样循环工作的,并提出了思考变量的两种方式。
[第9课]
阶乘程序的流程图
主题:第9集视频以上两集视频里的求阶乘程序为例,介绍了流程图的画法并画出了求阶乘程序的流程图。
[第10课]
3程序不能向下兼容Python 2
主题:计算机科学第10集视频介绍了Python的最新版本Python3,说明了Python3不具有向下兼容性,并举例解释了Python3与Python2在处理输入函数input()的返回值上的不同。
[第11课]
定义一个阶乘函数
主题:第11集视频介绍了如何定义并调用一个函数,并以之前视频里计算阶乘的程序为例,将其改写成调用函数的形式,并通过该实例,说明了使用函数的好处。
[第12课]
函数调用时发生了什么
主题:第12集视频用画图的方式解释了求阶乘函数factorial()是如何在整个程序中工作的,并以此来说明函数的调用与参数传递过程以及变量作用范围。
[第13课]
递归阶乘函数
主题:第13集视频讨论了如何用递归算法重新定义求阶乘函数,解释了递归运行是怎样工作的,并验证了递归求阶乘函数的正确性。
[第14课]
迭代与递归阶乘函数的比较
主题:第14集视频对比了迭代函数定义与递归函数定义的不同,并详细分析了在这两种不同的函数定义方式下factorial(3)的调用。
[第15课]
练习写一个斐波那契函数
主题:第15集视频介绍了斐波那契数列,并向观众提出了一个挑战,完成一个函数来得到斐波那契数列的第n项。
[第16课]
迭代斐波那契函数的例子
主题:上一集视频向观众提出了完成fibonacci函数的挑战,在这集视频里,讲课者使用for循环与列表的append函数完成了这一任务,使fibonacci函数可以正确返回斐波那契数列的第n项。
[第17课]
逐行分析迭代斐波那契函数
主题:第17集视频以调用fibonacci(5)为例,对上一集视频里写出的fibonacci函数进行了逐行分析,详细说明了上一集的迭代fibonacci函数是如何工作的。
[第18课]
递归斐波那契函数的例子
主题:第18集视频依旧在讨论如何实现fibonacci函数,这个函数可以返回斐波那契序列的第n项,但在本集视频里,fibonacci函数是用递归法完成的。同时,讲课人也指出了虽然递归法实现fibonacci函数看起来很神奇,但在计算量方面,它并不是最高效的方法。
[第19课]
逐行分析递归斐波那契函数
主题:第19集视频以fibonacci(5)为例对上一集视频里完成的递归fibonacci函数进行了逐行分析,详细解释了递归fibonacci函数是如何工作的。
[第20课]
练习:写一个排序函数
主题:授课者在第20集视频里提出了一个要求,要求大家写出自己的排序函数。
[第21课]
插入排序算法
主题:第21集视频介绍了最直观的一种排序算法——插入排序法,并通过对一个具体的列表进行排序来对该算法进行详细描述。
[第23课]
逐行分析插入排序函数
主题:第23集视频首先对上一集视频里用到的break语句进行了说明,然后以一个简单的数列为例,对插入排序函数insertion_sort()的调用进行了详细的逐步分析,具体解释了该数列是如何被排序的。
[第24课]
插入排序函数的简化
主题:第24集视频对上几集视频里完成的插入排序函数insertion_sort()进行了简化,通过对while执行的条件进行修改而去除了对break语句的使用。