00:00
好了,同学们大家好,那么从本章开始将为大家讲解新的内容,什么内容呢?我们要讲解的是什么呢?流程控制语句这个东西呢,对于初学者来说会有一定的难度啊,但是难度并不是很大,算是一个小小的门槛,大家做好心理准备就可以了,只要认真听是可以听得会的好。流程控制这里边我们主要给大家讲的内容先给大家提一下,首先先给大家介绍一下什么东西呢?先给大家介绍一下Python语句的分类啊,Python语句的分类,因为这里边儿我们会给大家介绍Python的两大类语句,然后呢,再给大家讲一下流程控制流程。控制相关的分类,也就是我们的什么顺序结构,分支结构和我们的循环结构,然后就是第三部分开始就开始详细讲解我们的什么呢?顺序结构,然后呢,是我们的分支结构,循环结构啊,循环结构以及其他的语句啊,其他流程的控制语句。
01:04
控制语句啊,这就是我们整个章节课程的一个大体内容,好了,首先先来给大家介绍第一第一个内容就是我们Python语句的分类,好吧,那在这里边我们Python语句的分类其实分为两大类啊,Python语句的分类分两大类,哪两大类呢?我们将Python语句划分为第一个叫做叫做单行代码,单行代码其实就是什么呀。一句或者叫一一行的Python代码啊,一行的PYP代码,其实我们之前是不是一直在用啊,我们第二章啊第一节啊,一行一个一行一个是不是那一行一个的语句,就是我们的单行代码,还有第二种,第二种叫做代码块或者叫代码组啊,在里边可能叫代码组的比较多一点,什么叫代码组呢?就是多行语句,多行语不是对行啊,叫多行多行语句组成的一一组代码,一组代码它代表一定特殊的意义,那这叫代码组,其中给大家写一下什么叫单号语句,什么叫做多号语句,行不行啊右呃,什么叫代码组啊,右键新建一个pthon文件啊,首先pthon文件好了,我们写上MY下线code,然后三啊下线。
02:18
零一啊,或者三下线一都行啊,来OK,然后呢,在里边先给大家写一个什么呢?单行语句啊,单行语句,单行语句呢是非常简单的,我们之前一直在用啊,比如说我们在里边声明了一个变量VR啊,等于。单行语句字串,这就是个单行语句啊,单行语句,然后呢,Print打印一下,我要打印这个变量VR,它也是一个单号语句,所以实际上在这里边我们写了两个单号语句啊,那什么叫代码组呢?第二个代码组,这个对于我们还是有点陌生,因为我们目前来说还没有接触到啊,但是代码组并不难,也很简单,比如说给大家写一个好不好代码组。
03:01
它有自己共同的特征啊,代码组怎么写呢?代码组第一行一定是顶头写的,比如说DEF,我们写一个my code OK,这就是第一行的内容,然后括号括号啊,然后呢,后边这一行你就可以随便写了啊,Print print括号。那在这里边干什么事儿呢?全部都是单行代码啊,单行代码叫单行代码组成的代码组啊,行代码。啊,或者单行语句可以写多少呢?既然是代码组,代码组就可以写很多很多的大行代码,爱写多少写多少。所以代码组其实就是由单行语句组成的,只不过在代码组前面会有一句特殊的代码啊,当然这个随着语言结构不一样,它特殊的也不一样,有可能是像这样写的,甚至还有可能是这样写的啊,Class my code,也可能不是MYMYMYMYMYMY,叫卖吧,买买买扣子不好啊,叫买扣子二吧。
04:02
也有可能这样写啊。也有可能这样写,等等等等等,后面写单行,后面写单行代码,后面写单行代码,当然不提倡那么写啊,后面这里边写单行代码。等于二或者说是,诶我们下面可能就要讲到if后面写一个处,后面依然是什么呀,单行代码,单行代码,这都是代码组,那其实从这个大家可以看出来,代码组有一个最大的特色,什么特色呢?它第一行是顶头写的,后边有个冒号,然后后边的其他的代码,或者叫单行代码都是什么呀?先缩进一下,很老师是怎么按的,按table键就可以了,按键上table键或者四个空格,但是我推荐大家按table键啊,那这个时候就是什么呀,后面单行代码都缩进一下,往后面隔一个和格,四空格隔一个缩进,然后再写,这就是代码组的典型结构,看懂了吗?等第一行是顶头写的,后面个冒号是不是第一行顶头写后面有个冒号,后面就是一行一行的代行代码组成的了。这就是。
05:04
代码组啊用,因为我们学流程控制用到啊,所以给大家介绍一下好了,代码和代码组的概念介绍完了之后呢,开始讲我们的流程控制里面的东西了,那先讲一下流程控制的分类好不好。流程。流程控制流程控制的分类讲分类之前大家有个疑问,啥玩意叫流程控制?是不是?流程控制是什么东西呢?流程控制。到底是什么东西呢?很简单,对计算机执行代码的管控就是流程控制。就这么简单的一个定义,那我们之前写的代码,大家都知道计算机是怎么执行的,是从上到下执行第一行,第二行,第三行,第四行,第五行,第六行是不是就这么执行的,那如果说我执行了前两行,我想跳过下一行,或者跳过下几行,那怎么办呢?那这个时候这个一行行执行是不是管不了了,那这个时候就需要我们的特殊的一些什么结构来管理它执行的过程,就是我想跳过或者来回执行等等等等,都是流程控制的范围之内,只不过是什么呀?我们之前有一种流程控制已经学过了啊,哪一种呢?我们一会儿再说,先给大家讲一下分类啊,其中我们的流程控制分为三大类。
06:23
哪三大类呢?第一类叫做顺序结构。结构第二大类呢,叫做什么呢?分支结构啊,但是它有一个小名叫做什么呀,叫做选择结构啊,有叫分支里的选择的,然后第三个是循环结构。这就是我们的分类,其中顺序结构非常简单,一一条条来执行的,然后分支结构就是你二选一三选一五选一啊这样来执行的,那循环结构就是来回执行同一个代码语句,或者同一块代码语句,当然这个只是简单给大家介绍一下,我们下面要详细的介绍每一种语句,首先先来看一下时顺序结构啊。
07:03
顺序结构,对于顺序结构来说,我们要做的是了解级别啊了解级别,为什么呢?因为顺序结构是系统默认的程序执行结构。顺序结构啊,是系统默认的程序执行结构。就是从上到下啊,自上而下执行,自上而下执行,所以这个东西对于大家来说没什么特殊要讲解的地方,你以前学代码的时候,不也是先执行第一行,再执行第二行,再执行第三行,再执行第四行吗?这其实就是用到了流程控制当中的顺序结论啊,当然这个东西我们管不了的啊,税率结构是自动执行的,如果你想管,则用到了剩下的两大类结构,那么就是分支结构和循环结构啊,循环结构这两个不是了解级别,而是什么呢?必须熟练掌握级别啊。熟练掌握级别非常的重要。
08:03
熟练掌握啊级别好了,首先我们先给大家看一下什么叫做什么呀,分支结构对不对,掌握级别分支结构啊级别其实也很简单,比如说有两个姑娘同时站在你的面前,你只能选择一个当对象,那是不是就是二选一啊,是不是很多说我两个都要,那就违法了啊,那就违法了,那在这里边我们的分支结构就类似于这种操作,将分支结构之前呢,我们先来看一下分支结构的一个什么呢?结构语句代码长得什么样子?好,我们先来看一下我们的分支结构啊,结构代码。结构代码。先为大家讲解第一类啊,是我们的什么呢?叫做单向分支,分支里边会分好多种啊,单项分支好在这里边我们新建一个文件,来看一下单项分支什么样,右键新建一个Python文件啊,Python文件我们写上MY。
09:00
下划线CODE3啊,下线02OK,创建文件。然后呢,我们的单项分支语句呢,其实写起来挺容易的,直接这样写就可以了,它的格式是这样写的啊,If空格后边跟一个条件表达式。表达式说是条件表达式啊表达式其实它只是一个什么呀,只是要求一个布尔值而已,后面就可以跟什么呢?Python代码了,P条pyn Python代码pyn Python代码可以跟多少条呢?可以跟很多条,你需要多少就加多少,因为大家之前也学过代码组了嘛,是不是就根据你的需要来进行添加即可,好吧,那既然有了这个代码结构,我们来试验一下,看好不好使呢?那在这里边我们新建的第二个文件打开一下,先给大家写一个单项分支啊单项分支。单项分支结构,首先A开头后面跟一个条件表达式,比如说我们说55大于33,诶冒号回车,那这样一来的话,第一句就搞定了,有一个F,有一个条件表达式,有一个冒号对不对,然后缩回车,它会自动缩进四个空格,这个不用大家管啊,我们的工具会自动帮我们处理这个事情,然后呢,后面你就可以写大号语句了,随便你怎么写,比如说我们写最简单的输出行不行,我叫做这个操作,这我们写上啊这个。
10:28
比较。比这个比较运算,比较运算是正确的啊,是正确的好,然后呢,把这行语句复制多行,因为咱可以试一下代码组嘛,是不是多行好,我写五行放这OK,那在这里边我们就可以运行这个程序了,我们就可以运行这个程序了,程序是怎么运行的呢?我们运行完结果再给来看好不好,OK。看到运行结果,运行结果是我们这五句print都执行了,对不对?而整个单项分支的运行程序是这样的,首先来到if处,If需要做一个操作,就是把后边的它这个条件表达式转化成不尔值,那大家知道55大于三是不是真的好,当if判断后面的条件为真的时候,则会执行它什么呢?代码组中的所有内容也是这五行代码就得以执行,当然如果说他判断了我们这个条件表达式的结果是假,55大于133肯定是假的,对不对?那么它的选择是不执行,来右键运行一遍,你看一行代码都没有输出就结束了,这个时候我们就通过什么呀?If后面的条件表达式控制了这五行代码是否要执行的一个操作,所以这就是我们单项分支特点,特点是什么呢?
11:48
特点,当条件表达式为真,则执行代码组中的内容啊,它是当条件表达式结果为真。
12:01
好,则执行代码组中的内容,如果为甲,则不执行代码组中的内容,这就是我们单行代码,它可以使我们的流程控制对某行代码是否执行或者不执行,做一个什么呀,做一个操作或者做一个管控,单行不是单向分支啊,这叫单项分支,其中这里边条件表达式你可以直接写布尔值也可以啊,没有必要非得写个什么条件运算,它还可以写布尔值啊,写处的运行,看见没有写false依然不运行。写for依然不运行啊,依然不运行,当然很多师,那我写个其他的数据类型行不行,行啊,我们其他的数据类型放在这里边会自动转化成波尔值,所以这个大家了解一下好不好,那我就给大家返回这个刚刚这个位置好不好,返回这个55大于133,嗯。133好了,这个就相当于我去点,我去饭店点了一份菜,我发现这份菜不好吃,不好看,是不是我不吃了,我就OK了,就是这个是好看我就吃了,它不好看我就不吃好了吗?OK,那我们再看一下单项分支的另外一个问题,单项分支存在自己的缺陷,缺在什么东西呢?那我去饭店,你看这个饭,这个菜不好吃,那我就不吃了,那是不是挨饿呀?所以单项分支有些情况下不能满足我们的需求,我们就什么呢?把单项分支做了一个扩展,扩展出了一个新的内容,叫做什么呢?叫做双向分支啊。
13:35
扩展出一个新的内容,叫做双向分支。这个也很好听啊,是不是双向分支就两个选项呗,这盘菜不好吃,我再吃下,我再点一份,是不是我点两份菜,这盘菜不好吃,我吃另一盘菜,所以双向分支是在单向分支的基础上做了的扩展,好比如说我们在这里边if后面写条件表达式,这是它的结构啊,冒号后面依然是我们的Python代码,可以写几条,随你高兴。
14:05
可以写都很多条配存代码,别忘了缩进啊,别忘了先缩进再写啊,缩进。好,然后呢。这是单项分,但是大家发现单项分支有时候解决不了,是不是,那这个时候干什么事呢?我可以再加一个分支,加什么分支,Else,分支英文意思是否得啊,否则我就怎么地。比如说我去饭店点饭,我发现一盘菜不好吃,怎么办呢?我就再点一份是不是啊,就这个效果啊,那我们来看一下这个的应用,来下面给大家讲一下双向分支的应用啊。双向分支,嗯。双向分支。双向分支。好,然后在里边写就可以了,If后面一人跟一个条件表达式,比如说我们写一个55大于四次啊,大家都道是不是真的,我们就里边输出print的括号,比较预算结果为真行不行?我们在里边输出啊,叫做比较运算,结果是正确的。
15:06
好,那这个时候呢,我们可以写多句啊,因为它没有限制的啊,一个代码组可以写N多句啊,你高兴就行啊,你高兴就可以啊,注意啊,我们格式当中的省略号是表示多个啊,不是代表这一块加省略号,所这个要注意,然后呢,除此之外,那大家知道如果它为真啊,待会执行这三行代码没有问题,是不是三号代码没有问题,但是什么呢?当我们把这个条件变成甲的时候,你会发现我没有得到一个有效的反馈,就是预算甲,你好歹告诉我一声结果,我啥也不知道是不是,所以为了避免这种情况,我们在里边加了一个新的分支选项,叫else分支,Else就否则的意思,那在这里边我们输出那。干什么事呢?输出这个比较运算是错误的啊,这个比较运算是错误的,好了,然后呢,这项分支下面又加了一个分支,对不对?哎,这个时候大家看,如果55大一百44,虽然不会执行是正确的,但是他会告诉你是错误的,所以大家就发现了一个问题,什么问题啊哦,条件表达式为真的情况下,也就是55的大于44啊,它会执行F后面的代码组是不是正确的?如果55大于144,条件为甲,那么它会执行else后面的代码组是不是?也就是说它好歹有一个反馈,这叫做双向分支,你可以在F或者else里边二选其一,而且必选选其一,原因很简单,因为你的条件表达式是不是只能是true或者false,为true的时候执行if后面的代码,为false的时候执行else后面的加码,所以这里边也有一个新的概念啊,或者新的一个特征给大家了解一下。
16:47
在这里边,当条件表达式结果为真,则。为针啊,则执行F后面,则执行F后面代码组的内容。
17:05
如果为甲他不是啥都不干了是不是,而是,而是直行,不是20啊,而是执行else后面。代码组的内容,所以这个是需要大家注意的,其中在这里边引申出两个概念,什么概念呢?叫做真区间和假区间啊,真区间和假区间,假区间。什么叫真区间?什么叫假区间呢?很简单,就是当条件表达式结果为真执行的区域。就是针区间。哎,那是不是就if后面这个内容啊,是不是那甲的,就是当条件表达式结果为甲的时候。执行的区间就是甲区间喽。
18:02
的区间就是假区间,就这么简单,当然真区间也叫做什么呢?也叫做if区间啊,因为它是不是刚好在if后面,是不是,那假区间它也叫做else区间,因为它刚好在else的代码后面嘛,是不是也叫做else区间啊好,这里面给大家带来两个新的概念啊,真区间和假区间的定义,那这样一来的话,我们的单向分支和双向分支就出来了,是不是我点了一盘菜诶不好吃,我不吃了,来两分支,我点了一盘菜不好吃,那我再点一份。是不是,或者我再或者不好吃,我们我就把厨子是不是,那这都是双向分支,就是不好吃,这把菜不好吃,我不会默不作声,我还要做点什么,就是双向分支好了,那接下来。下面我们除了单向分支,双向分支之外,还有一种叫做什么呢?多项分支。C啊,叫多项分支,这一听就比单项多项双项还要多,是不是多项分支啊,分支没错,我们的分支有些情况下在两种的是不够的啊,两种是不够的,需要更多的分支情况。
19:15
比如说我现在要根据周一还是周二还是周三来看一下我到底吃什么菜,就比如说啊,我练一个什么呀,十菜谱放一摆的每日的潘谱,我看今天是周几,我吃什么东西,那这个时候两天,一天肯定不够,两天不够啊,至少得什么呀,至少得七天吧,是不是,那这个时候就可能到多项分支,也就是我需要根据每一天来什么来进行不同的菜谱的搭配,是不是,或者吃吃吃不同的菜是不是,那这种就要多项分支,多向分支的结构是在双向分支基础上再进行了分支的扩充,它的特征就是把if和else双向分支拿过来。拿回来之后干什么事儿呢?这两个分支不够用呢?添加分支在哪加呢?在F和L4之间加e if分支。
20:07
怎么加呢?Alli后面写条件表达式,然后冒号后面跟上Python代码很多很多很随便,给爱几句几句啊,然后想加LCF你随便啊,E这个你可以无限的添加e if分支。所以它叫什么呀,它叫这个多项分支,而不叫做三项分支,因为这个分支你可以无限的加啊,这个LC你也可以无限的加,好了,那给大家讲一下多项分支的一个操作好不好,刚好使用什么。刚好来使用我们这个这个,呃,周一到周天来吃什么菜来解决行不行,为了不影响多项分支,我们把单项分值注释一下,行不行,注释一下啊,因为东西比较多,所以我分开注释吧。啊,分开给大家注释啊,注意啊,不要互相嵌套,这个是要大家注意的问题,好了,来我们来看一下多项分支的一个应用。
21:07
其实多项分支应用还是挺多的啊,好了,来给大家讲一下多项分支。多项分支。我们分支分支,我们的多项分支,就是按照周一周二周三周四周五周六周天来定制菜谱行不行,那我们在这里边if写上格式嘛,后面标一个条件表达式,我要判断是周几,那咱在里边是明一个变量wek行不行,Week等于三吧,表示周三,那如果是周一的话,我们就W1K啊等于等于一表示周一是不是这里边的作用是啊,冒号别忘了啊。这块叫检测是否是周一,如果是的话,我们输出print行框,在里边输出一行框啊,写几行都可以啊,我们写上今天是周一啊,我们吃西红柿炒番茄。
22:04
炒番茄好搞定,然后呢,如果是周二怎么办呢?E也是,我要判断多天,没关系,加个E分支就可以了,等于等于二,这句话的作用就是检测是否是周二,检测是否是周二,如果是周二我干什么事呢?Print考上括号。我们写上啊,我们这里边依然输出叫今天是周二。我们吃叫做马铃薯炖土豆。炖不对啊,炖土豆。好,然后呢,我要判断是不是周三怎么办呢,Eli,如果week这个变量啊week。等于等于三啊,说明是周三,我们在里边的作用就是检测是否是周三啊,这块检测是否是周三,我们在里边输出啊print套上括号写上啊,今天是周三啊。
23:04
我们吃,我们吃大米啊,煮小米。主呢?大米煮小米。然后呢,再判断一下是不是周4e week week,如果等于等于四啊,说明是不是周四啊,是不是检测是否是周四啊,检测是否是周四,然后我们在里边print弹框,我们就输出今天是周四。今天是周四啊,我们吃啊什么呢,老母鸡啊,炖老公鸡。老公鸡呢,好,老公鸡。好,然后呢,判断下是不是周5EF等于week week等于等于五。然后这个句话的作用是检测是否是周五,检测啊,检测是否是周五,那在这里边我们print输出今天是周五啊,今天今天是周五,好,我们。
24:11
吃叫做叫做蒜苔。蒜台台呢,蒜苔。炒肉。然后呢,至于周六周天,咱干脆就什么呀,就饿着得了,是不是符合大家一贯生活习惯?今天是周末啊,不吃饭。周六周天咱都放在里边好不好。今天是周末啊。不吃饭好了,那这样一来的话,我们的多项分支就书写完毕了,那它是怎么运行的呢?这个是大家需要注意的啊,这就相当于我们走路一样,当你走在路上,发现前面有什么呀,有五个,有一个岔路口,有五个方向,你是不是只能走一个方向,一个人不可能同时在两条路上走,对不对?我们的多项分支也是这个原理,你无论有多少个分支,最终执行的只能有这项分支中的一个,那我们来执行一遍,首先VK等于三是我们的条件,对不对?再来判断一下,先走,注意它是一个个判断,从上到下一个F一个LF一个判断的啊。首先week等于一吗?我们发现三不等于一,那不等于这块的条件表达式结果为甲,则不执行这块不执行,接着去判断下一个是吧e iff条件,那么问你wake等于等于二吗?诶,结果发现三也不等于二,是不是不等二也不执行它的代码内容,代码组织内容,然后接着去判断下一个页。
25:40
然后week等于等于三吗?我们发现weak真的等于三,也就是说这块判断条件是不是为真了,当它判断条件为真的时候,则执行这个代码组的内容啊,或者这个代码区域的内容输出,今天是周三,我们吃大米煮小米,而且一旦执行了这个代码组,那么其他的分支一概不会执行,我们的分支也就结束了,因为咱说过无论有多少条岔路口,人是不是只能走一条啊,多项分支也这个道理,所以运行结果是今天是周三,我们吃大米煮小米,看见了吗?如果我写一个四。
26:14
那么它也是今天是周四。如果我写一个五,就是周五呗,是不是你会发现它无论如何只能走一个分支,当然你如果写一个什么呀,如果写一个六或写一个七,就是周六周天,由于前面的判断条件周一到周五都不符合要求,所以剩下的条件都归else,就是只要不是前面这五天的,剩下都是今天是周末不吃饭。即使你写一个什么呀,你写一个九或者写一个八也没有用。因为我们在这里边前五个是有判断条件的,只要没有判断条件的,通通归到else区间啊,所以这个时候他依然是什么呀,依然是今天是周末不吃饭,这样一来的话,我们的多项分支就完成了,所以多项分支里边千万记住一句话,无论有多少个分支,最终只能执行一个分支。
27:07
多项分支啊。多项分支,无论有多少分支啊,无论有多少分支,只能执行其中一个分支。而且一旦执行啊,一旦。执行了某一个分支,我们的什么,我们的多项分支就算结束了。一旦执行某个分支,某个分支我们的分支结构就结束了,分支结构就结束。就OK了,这就是我们多项分支的一个操作,我相信大家应该可以把多项分支应用起来,对不对?你可以来判断某个人的成绩啊,等等等等等,当然啊,我们要判断某个人的成绩,可能比这个稍微要难一点点,好了,那这样的话我给大家强化一下,我就把判断成绩给大家再写一遍行不行,然后在这里边我给大家再写一个实例吧,行不行,写一个小小的实例啊。
28:11
让大家更深入的了解一下我们基础知识的一个整合好不好,实力一干什么事呢,我们用来。划分成绩档次啊。划分成绩的档次。比如说我们的成绩范围满分,满分是多少,100分吧,是不是,然后呢,我们还有什么呢,就优秀,优秀是多少呢?是85分到什么到。99分不是是85分以上啊,100分以下。因为它存在一种什么情况,存在一种99.5分这样是不是,然后呢,优秀还有良好,良好的话,我们是75分以上啊,75以上85以下。85以下当然需要注意啊,85分以下,我们这块都是什么呀?呃,前面是包含85的,就是包含85。
29:10
然后呢,下面这个是包含75啊,也就是说它的上线是不包含的,下线是包含的,包含75分,然后呢,还有什么呀,还有60到75之间,或者叫60以上的是不是叫及格呗。及写错了啊及格,那我们的及格情况是多少呢?是65。啊不什么六十五六十以上。然后当然是包含60,因为60分及格吗?包含60。60分以上,然后多少呢?75分以下啊,75分以下。然后呢,还有什么呀,不及格这个就简单了,不及格就是简单60分以下呗,60以下啊,60分以下。就可以了,好,这就是我们的成绩档次的一个划分,对不对?那在这里边我们先干什么事呢?先建立一个成绩出来啊,先建立一个成绩,比如说这里边有一个人的成绩啊,叫做小明啊,小明的成绩得了多少分呢?得了86.4分啊,点40分奇86.5分吧,行不行,得了这么个分数,然后我们就要判断它的分数属于哪个档次,好了,那为了这里边我们需要写多少分值,因为大家一看就知道是不是分了好多档次啊,两个肯定不够啊,所以写多样分支,那多样分支怎么写呢?F。
30:26
如果我们的这个我们的小明的成绩啊,小明的成绩它是多少呢?它是等于等于100分的。那么这种情况下很明显是不是满分啊,我们可以输入print啊满分。再往个输出满分,然后呢,接着写分支,因为第一个分支是不是写完了,第二个分支是85以上100以下e if分值吧,如果小明的成绩它是大于等于85。而且注意是不是同时还得小100分啊,因为你要等100分就是满分了嘛,是不是,所以我这里边还要加一个条件啊,加什么条件呢?按的条件你想想是不是同时得符合这两个要求,既得85分以下,还得100分以下是不是,所以这里面还用到逻辑运算,按我们的小明的成绩是小于100分的,这个时候他就应该是一个优秀的成绩,所以我们输出。
31:22
优秀,那优秀完了之后,还有另外档次,就是我们的良好档次,良好档次就是小明的成绩,他是大于等于75分,并且还得小于85分,对不对?And,我们的成绩啊,什么成绩小明小于85分。是不是又符合条件?这就是良好状态了呗,我们在这写上良好。良好,然后呢,ELEL小明的成绩如果是大于等于60,并且小明的成绩还得小于我们的多少呢?还得小于我们的75分,那这个时候是不是应该是及格的一个分数线,是不是这里面应该是及格的档次。
32:07
如果说是60分以下,那简单了,剩下都是60分以下,所以直接else,我们写上一个print不及格。好,不及格。好,这样一来的话,我们的分数档次就划分完了,那我们来试一下,按照我们目测小明的成绩应该属于优秀啊,对不对?来右肩运行一遍,是不是优秀啊,是不是上面这个咱没过啊,那在这里边我们自己用大脑来运行一遍,小明等于八十六点五八十六点五等于100分吗?不等,所以不执行第一个A分之,然后判断第二个,那小明是大于85分的吗?是89.5大于85,那他同时小100分吗?也符合要求,所以他这个预算是不是前面为真,后面为真,真针逻辑预算得真的,那最后的结果就是优秀执行了,那执行了这一个分支,剩下的分支不再执行,所以就是优秀,那如果给它改成什么呢?改成56.5分呢?那是不是应该不及格呀,右键运行一遍大就会发现件它是不及格,它的运行则是什么呀?判断第一个不符合条件,再判断第二个依然不符合条件,再判断第三个不符合条件,再判断第四个还不符合条件,所以不符合条件只能最后只能归到else分支当中去,是不是这样来的话,我们的多。
33:18
这分支就写完了,当然这个成绩划分还可以做一些优化,我给大家之前讲过什么呢?讲过我们的这个比较运算里边有一种缩写格式,大家还记得吗?回过头你可以看一下,也就是说这里边的条件可以进行改变,怎么改变呢?我们可以直接写成小明的成绩是什么呢?是大于等于85分。然后呢,小于100分,大家还记得这种格式吗?这种是我们之前为大家讲解的一个负值写写法了,负值运算的一个缩写格式啊,当时还给大家用过了and,只不过当时给大家说了,咱还没有学逻辑运算,大家不懂对不对,现在能看懂了吗?小明,然后大于等于85AND小明小100分,所以这个需要注意,那下面这个是不是也可以进行改写,对了,我们就可以写上小明,它是。
34:14
大于等于75分。并且那就是直接来一个什么小于号就可以了,是不是小于85分,直接这样一写,加个冒号就可以,都是等价的操作,包括这个60分以上的也是一样,我们可以写成小明,他是大于等于60分。同时还小于75分别忘加冒号,搞定预算结果完全一致,大家请看来右键预习一遍,是不是还是不及格,写个76.5,那么依然是良好,依然是良好,我写一个86.5。那么他依然是一个优秀。是不是这就是我们前面知识的一个什么呀,结合好了,那关于我们的多项分支也为大家介绍完了,我相信大家对于分支应该有一个比较深入的了解了吧,是不是?
35:07
好了,多项分支介绍完了,再给大家额外补充一种新的结构啊,什么结构呢?叫做潮状分支啊潮状分支。潮状分支,这应该是C了啊,叫做潮状分支。巢状不是这个巢啊,是鸟巢的巢啊,巢状分支理论上来说,它不能算是一种新的分支结构,它的特征是什么呢?分支结构的嵌套啊。它是分支。分支结构的嵌套。分支结构不是嵌套啊,嵌套也就是我们的分支结构可以一层一层的往里装的,那么潮状分支是怎么写的呢?潮装分支它没有固定的格式啊,它没有固定的格式,比如说给大家写一个例子行么?让大家看一下什么叫潮装分支啊例子。比如说我这里边有一个什么呢?有一个简单的双向分支吧F,然后呢,条件表达式。
36:06
条件表达式,嗯。条件表达式好,然后呢。里边写的代码,代码咱不用管,这里边都不用管啊,拍代码语句啊,代码语句,然后呢,这里边有什么呢?有else分支啊,这里边也有代码语句。这个时候我们干什么事呢?我们在F里边又嵌入了一个分支,无论单项、分项,双向都无所谓啊,又加了一个条件表达式啊,你可以写双向,也可以写单向的,也可以写多项的,无所谓啊,表。答案是,里边呢?又有其他的分支啊。然后这里边写代码语句,后边又来一个else。E。然后后面是代码语句,那这种其实就是我们的潮状分支,而且注意啊,你无论是在if里边嵌套了一个分支,还是在else里边嵌套分支,都叫潮状,只要是嵌套就要朝状,那给大家写个例子,大家理解一下朝状分支好不好,我们先把上面这些注释调好不好,把上面这些注释掉,大家自己解注释的时候需要注意一下啊。
37:15
好把这个先把这个周几的注释掉。然后呢,往下拉一下。然后再把我们实例这个也注释一下,嗯,成绩这个注释一下,好拉到最后给大家写一个潮状分支的一个例子,行不行,潮状分支。潮状啊。状分支。啊,我们举一个最简单的例子来讲解,什么呢?进门,比如说我们现在住在一个小区里边,然后呢,小区里边的某一幢楼啊,我们住在小,比如我给大家举个例子吧,什么叫小区啊的楼房的什么呢?24楼行不行,24楼就这样写了就不写,那我们在这里边要想进门,或者要想进自己家,需要经历三道门,进入家中需要经历三道,需要经过。
38:13
三个门啊,哪三个门呢?分别是小区门。小区的门。然后呢,楼的门。是不是现在很多进楼都有那个刷卡的,是不是,然后还有什么呢,还有家门。是不是要经过三道门,那我们现在就开始什么呢?来尝试了一下,用代码实现这个过程,这个原理好吧,首先呢,我们在里边普一句话,告诉我们走到了小区门口啊,就告诉我们现在的行进啊,走到了小区的门口,OK,那这个时候感什我们是不是得看小区门开没开啊,能不能进啊,是不是,所以我们在外边加一个小区的门行不行,小区等于门只有两种状态,要么开着,要么关着,我们现在关上小区的门啊,关上小区的门,然后呢,还有楼门。
39:03
啊,楼门都给它关上,False表示关处表示开行不行,然后再加上一个家门啊。现在都关上了啊,你看我们走进来啊,然后走到了小区门,你能进得了我们的小区吗?不知道,所以我得判断。小区的门是否打开啊,是否打开很简单,If看完括啊,我们判断小区门那就是小区的门,因为咱说了什么呀,Force是关啊,处是开,处表是开的,门呢,TE处表示开。False通通表示关是不是关啊,所以我们在这里边就判断一下,如果小区门等于等于处说明门开着是不是,那这里边儿说明门开着啊,说明小区门啊,检不能说,说明这叫检测检测。小区门是否打开?
40:01
好,那两种情况呗,要么是开着,要么是关着是不是,要么是关着,所以我们这里边应该是个双向分支,你开着怎么地,关着怎么地,是不是关着怎么地。好,如果小区门是打开的情况下,好好定搞定那就简单了,我们直接输出小区门已经打开啊。或者小区门开的都行,是不是?小区门开着,是不是我们可以走进小区?是不是来到哪儿,来到我们的楼门前?楼门前是不是那小区门开了,你可以走进来,那小区门如果关着怎么办呢?我们是不是可以喊门卫开门啊,是不是他光我们写上啊小区门关着。小区门关着是不是我们可以说就是保安大哥。开个门,是不是开个门。好,这样的话是不是双向不就小完了,好了,那我们接下来看我们开着的情况下,我们开着的情况下,我们是走到了小区门,你看小区门口,小区开着,小区门现在关着,我们是不是进不来啊,所以我们说保安把门开着,保安帮你把门打开了,改成处,那么我们这个时候可以进到小区里边了,没问题,是不是小区门开着走进小区来到楼门前,那你能进去了楼吗?不知道啊,所以你在里边是不是要判断或者要检测什么呀?楼门开没开啊是不是,所以在里边要再加一个判断。
41:30
判断楼门。是否打开?是否啊,是否打开,那是不是又是一个判断,那这里边是不是定了双向分支啊,要么开要么关,所以if我们判断楼门的时候,用楼门等于等于处表示开着嘛,是不是,然后。False就没开,所以我们这里边又是一个双向分支,如果楼门开着。我们就可以走进来了,是不是我们就可以直接输出print,套上括号,写上楼门开着。
42:02
我们叫楼门开着啊。楼门开着,是不是我们走进大楼?大楼是不是来到哪呢?来到你家门前,是不是来到家门前啊?来到家门口啊或者家门口吧,家门口比较好听点是不是OK,那如果门关着怎么办呢?诶关着没关系,我们是不是有那个什么呀,刷卡的是不是刷卡就可以了,你就可以在里边输出print,楼边关着我刷卡打开的是不是楼门关着是不是我干什么事呢?刷卡打开楼门。小区不都是感应的刷卡吗?那在这里边OK,我们先运行一遍,你会发现我们走到了楼门前,但楼门是关着的,所以我们就刷卡打开的,没问题,我手动在这边刷卡打开这个楼门来,右键运行一遍,会发现,哎呀,楼门打开了,我是不是来到家门口了,那你能进得了家吗?不一定,那就要看到我们家门是否开着,或者生物锁是不是,那在这里边我们要判断家门是否是否关着,或者是否打开,是否打开是不是又是一个判断,If,我们的家门等于等于,如果它等于等于to说明家门开着,家里有人是不是,我们就在里边输出print,他括号家门开着啊。
43:21
家门开着啊,家里有人,我们走进家就可以了,是不是有人然后我们走进家中是不是?但是如果家门没开怎么办呢?是不是再加一个分支else,我们再加一个分支print,如果家门没开,我是不是掏钥匙打开门啊?是不是家门没开啊?家门没开。是不是,然后呢,掏出钥匙,掏出。钥匙打开门是不是好走进家中?好搞定保存一下,让我们右键运行一遍啊,因为我们现在应该运,现在家门是关着的嘛,是不是,所以你会发现家门没开,于是我掏出钥匙打开了门,把它变成了一个to OK,右键运行一遍,你就会发现,哎呀,家门开着,家里有人是不是走进家中是不是可以进去了,是不是哦,就搞定了,这个时候就是一个什么呀,叫做潮状分支,很多说为什么叫潮状呢?很简单,因为你看这个缩进结构啊,注意每次这是一个分支啊,这是一个代码组,里边又写代码组的时候还得再缩进,也就是说每一层都要层层缩进,当你缩进好了之后,你把这个区域或者叫这个什么呀缩进连接起来,你会发现它像一个凹的鸟窝一样侧,别看啊,像一个凹的鸟窝一样,像鸟巢一样,所以我们叫它巢状结构,这就是关于巢状结构的由来。当然,潮状结构无论是在F期间还是在L期间,只要它是一个什么呀,它是一个嵌套结构的分支,通通可以称之为。
44:56
潮状结构好了吧,好吧,那么本小节内容到此结束,我们将在下一小节为大家讲解循环的内容,感谢同学们的收看。
我来说两句