00:00
好,我们接下来说我们下一组语句啊,也是一个非常重要的语句啊,我们直接创建一个新的文件来说这个东西,呃,我们创建一个文件,我们的零六。叫做循环语句,那什么叫循环语句呢?我们先举这么一个例子啊,那现在我这诶friend的一个这个hello hello,我这一执行,现在屏上就出现了一个hello对吧?那现在假设我想干成件什么事呢?我希望在我的屏幕上打印五个hello,那怎么办?哎,那同学说这还不简单吗?直接复印,诶复制什么呀,五个ctrl shift d啊复制一行,这一执行是不是就五个hello啊,诶非常简单,那现在如我想复制,我想复制这个十个怎么办呀?哎,那你就再复制一遍呗,哎,再复制一遍,这一保存,我们这一执行是不是就十个了?哎,那我现在想干嘛呀,我想整8848个。怎么办?哎,那你就得复制8848遍对吧,但是没啥问题,但是很明显这样整的话是不是就是很麻烦呀,诶很麻烦,所以现在我们实际上你想打印8000多个hello,还是想打印两个hello,还是想打印一个hello,是不是就是把我们这个普的执重复执行指令次数啊,你打印十个就执行十次,打印100个就执行100次,那这个时候我们就希望有没有一种方式可以让我们这个语句重复执行指定的次数呢?哎,你说我想让它执行几次,是不是它就执行几次呀?哎,那这里就是说的我们什么呀?哎循环语句,循环语句什么作用,循环语句可以使我们这个指定的代码块诶重复指定的次数啊,可以使我们这个指定代码块重复指定次数,说你想的重复十次就十次,重复100次就是100次,就这么一个啊。
02:00
那这个循环语句我们主要分两种啊,循环语句我们分成两种,哎,一种是什么呀?我们叫做一个while循环,还有一种我们叫做一个for循环啊,While循环和我们这个for循环,那这节课我们先来说while循环,For循环,我们稍微往后一点来说,我们先来讲我们这个Y循环,哎,那Y循环我们来先说一下语法啊语法呢,它的语法实际上和我们这个if很像,基本上和if这个结构是一样的,哎,首先还是什么语句就是什么开头,While语句外,开头后边跟的是一个条件表达式,然后后边跟一个冒号,冒号后边是我们一个代码块啊代码块,那这个就是我们的一个while语句的一个格式,你会发现其实我把这个while换成if,它是不是就是if语句啊,哎,就是if语句,其实跟if语句的语法基本是一样的,并且它的执行流程也基本一样,那执行流程什么呢?哎,我们来说一下。
03:00
While语句在执行时它会什么呢?哎,会先对我们这个while后的哎这个条件表达式进行哎求值判断啊,先对while后的条件表达式进行求值判断,如果判断结果为处哎,则执行我们这个循环体。哎,直行循环底。哎,然后什么呀?哎执你看到这儿描述是不是跟if一样啊,先对条件表达式进行判断,如果它为true,就执行我们这个,哎,其实我们这儿说的是我们这个就是我我们这个循环体指的就是我们这个代码块啊,循环体指的就是我们这两块,如果条件为true,就执行我们这个代码块,是不是if也是一样啊,If条件为true,是不是也执行代码块啊?哎,那是区别来了啊,If的特点就是执行完了就完了,但是while呢,执行完了以后干嘛呢?哎,那while则执行循环体,循环体执行完毕,哎,循环体执行完毕,继续对我们这个条件表达式进行哎,求值判断,哎,求值判断,然后哎,依此类推,哎,以此类推,直到什么呢?哎,直到我们的判断结果为false,哎,则我们这个循环终止啊,则我们这个循环。
04:26
终值非常简单,什么意思?看这了,我这个语句在执行的时候,它会先对这个条件表达式进行一个判断啊,先看它是处置for,如果是true,就执行这个代码块,代码块执行完了再来做判断啊,判断条码是是否成立啊,是否成立,然后判断完了干嘛呀?哎,判断完了如出为触了继续执行,执行完了继续判断,判断完继续执行,执行完了继续判断,也就是说它是一个反复在执行的if语句啊,反复在执行if语句什么时候停啊,直到你这个条件表达式为false为止,它就停了啊,为false为止就停了,那现在我们来尝试写一个啊,尝试写一个啊,我们来写一个。
05:10
哎,那我们这还是先来一个while,后边是不是跟一个甜牙式啊,那这样我还是先给他写死了,我先写一个force,诶,False,然后冒号,我们这来一个这个print print,诶来哈,那好,我问你这个hello会不会执行,诶很明显它是不会执行的,因为这是不是一个force呀,哎,For是不会执行的,我这一执行是什么也没有啊,哎,什也没有啊,但是看着啊注意了,我这换成一个这个触了,哎换成一个触了,我们这一保存,咱们说这回什么效果,哎,我这一走诶那这里边就出大事了,为什么?因为注意了,现在我这个条件是横为处的,横为处的情况,你看现在我这个SLA已经死掉了啊,这样我先给它结束掉。
06:02
打开我的任务管理器,找到这个sublime,给它终止掉,那不仅是sublime,看看有没有pon开启着。呃,Python没有了。没有,那OK了,为什么刚才我这个sub blame会死掉呢?因为注意现在我这个条件是横为处的,横为处就是说什么呀处,然后执行,执行完了判断还是什么呀,还是处,还是处,是不是继续执行啊,执行完了再判断还是处,也就说我的条件横为处,那这种循环叫什么呢?哎,我们这个条件表达式,哎,横。为处的这个循环语句,哎,称为什么呢?诶称为死循环啊,称为死循环,它会一直运行啊,一直一一直运行,所以这个东西我们一定要干嘛呀,慎用啊,一定要慎用,确定你真的需要它的时候,你才使用,一般情况下我们是不会用它的啊,一般情况下我不会用它的,那这一块我们可以在我们的这个呃,我们的命令行里来演示一下,在命令行里是可以执行的啊CMD我们找到我们这个零六这直接执行,你会发现它是不是一直在出这hello啊,诶一直在出hello啊,我CTRLC给它终止了,所以注意啊,CTRLC可以终止我们这个命令行,那这个时候注意,像这种东西我们开发的时候也会用到,但是呢,你用的时候,你一定要确定你真的希望用到这个,这种死循环啊,这种死循环,所以注意这个条件,千万不能写成什么呀,写死啊,千万不能写死,那怎么办呀?哎,那我们来写这么一个,那比如说我在这定一个变量,我来一个I等于零,那这个时候我就可以来写一个,那么这样。
07:39
写吧,我们来说一下,哎,我们这个叫做一个这个先写吧,诶I等于零,然后这个时候我就不写这个处了,写什么呢?我写一个I小于十啊,A小于十,然后我在这写一个print哈,哎,那这样我这是不是就是一个表达式了,就不是写死了,你觉得这样行不行?哎,注意这么写不行,这么写完了以后还是一个死循环啊,还是一个死循环,为什么?虽然我这写成了一个表达式,但是现在这个表达式的值它是不是横为处啊,因为I永远是零,诶I永远是零,它永远小于十,那所以这个东西也是横为处的啊,永远都是处啊,永远都是处,那怎么办?那这里我们要说一下我们这个循环的三个要点,循环,我们每一个循环基本上都需要这么三个东西,哎,哪三个要件呢?第一个我们需要初始化表达式,哎,三个要件或者说其实就是三个表达式吧,哎。
08:39
循环的三个要件,也就是三个这个表达式啊三个表达式第一个是我们这个初始化表达式,初始化表达式干嘛的?哎,我们需要什么呀?哎,我们通过我们这个初始化表达式哎来初始化一个变量啊,通过初始化表达式来初始化一个变量,这个I就是我们一个变量,哎,那这个I等于零,就是我们给变量初始化的一个值啊初始化表达式,然后还有一个什么呢?还有第二一个我们叫做一个条件表达式,哎条件表达式,条件表达式你来看,像我们这个A小于十就是一个条件表达式,条件表达式用来干嘛呢?表达式哎,用来设置我们循环执行的一个条件,也就是说当什么条件满足的时候,循环才会执行,那一般我们在条件表达式里边会一定会用到什么呀,初始化表达式,你一定会用到这个变量,因为你不用这个变量,我们这就没有意义了,所以这里边注意,这就叫做一个条件表达式,条件表达式。
09:39
哎,用来表示设置我们循环执行条件,但是光有这两个还不行,为什么不行啊,因为这个时候你挨这个变量始终是没有任何变化的,对吧?所以这个时候你即使写了这两个东西,它也是没用的,所以我们还需要第三个叫什么呢?叫做一个更新表达式,更新表达式啊,我们需要写到循环的里边啊,更新表达式怎么写?我们直接来一个I加等于一叫什么呀?给我们这个I自增一更新表是干嘛的?它是来修改我们这个初始化变量的值的,那我们来看这什么意思,首先我们来整一个I等于零,然后这来一个I小于十,I加等于一是每次给I增加一啊,哎,每一次给I增加一,这个I加等于你写到这儿或者写到print下边都行啊,写到哪都行,然后现在来看我们这个循环,它每执行一次,I就会自增一,第一次I是零自增,执行一次以后,I是不是变成一啊。
10:39
哎,再执行I变成二,再执行I变成三,再执行I变成四,也是说I的值是一点在在增大的,那也就是说总有一天它的值是不是会大于十啊,或者是等于十了,那它等于十的时候,循环是不是就停止了,那这样我们这循环就不是一个死循环了,那现在它就是一个会执行十次的循环啊,执行十次循环在这儿我们来执行一下,走一个来看是不是就一二三四五六七八九十是不是十个哈,哎,十个哈就没效果,但是这个东西你写上边写下边都行啊,这个东西写哪都行,根据你的这个需要,我写这儿,我们这一执行。
11:17
走一个是不是效果一样啊,诶效果一样,当然我也可以这print一个,哎我们来看效果这一保存我们这一直行走一个是不是就是0123456789啊哎,020123456789,当然这里边注意了,你这也可以是干嘛呀,哎你这你说我能不能是减等于一啊,减等于一行不行,哎减等于不行,减等于一是不是离十越来越远了,所以减等于一写上了也是一个死循环,所以注意这一定是一个加等于一,所以注意我们三个要件啊,初始化表达式,条件表达式,还有一个更新表达式啊更新表达式好,那现在我们来说一下,假如说我现在要创建一个执行十次的循环怎么办?哎,创建一个执行十次的循环怎么办?那这里边我们就需要还是先初始化一个变量,我来一个I等于零,然后这来一个Y条件表化式,我要I小于十啊小于十,然后我们这。
12:18
再来一个A加等于一,那个时候我们再来一个print一个,哎,这个就是一个直行14循环,我们来看一下啊,走一个是不是正好一二三四五六七八九十啊,诶十次注意了,如果你初始化变量的值是零,那就是你小于几就执行几次,那但是你如果初始化的是一,那对不起,那它会少一次,它就是什么呀,它就是九次,你看从二开始到十啊,二开始到十,所以一般初始化表达式的值我们一般都是零,你小于几就是几次,你小于8000,我小于8000,我这一保存,我们这一执行,它就是一个什么呀?诶就是一个8000次啊,你小于几它就会执行几次啊还是改过来,那这个就是我们的一个循环语句,那这样的好处就是你在这儿,你想写什么就写什么,比如说你想打印十个hello,你这就print hello,就写print hello就行了,你打100HELLO,比如说我这写一个。
13:10
我想打印十个hello,我这小于十就OK了,是不是就OK了,你想打印100HELLO,你就小于100,就会有100HELLO,你想打印1000个hello,你就小于1000,就直接就就出现了1000个hello,非常的方便啊,可以让我们这个叫什么呀,这个代码块我们就称为循环体,可以让我们这个循环体它执行指定的次数啊,可以执行指令次数,那这个就是我们说的一个循环语句啊,循环语句非常简单,然后再往下说,实际上如果这个语句我们再完善一点的话,循环语句while下边我们还可以再写一个else else啊,Else后边也跟着一个代码块,你会发现这写完了就更像我们这个if语句了,那这else什么效果?哎,来我们这加一个else,哎,我们这来一个什么呢?哎,不,哎,我来一什么呢?来一个这个,这是else后的语句。
14:10
哎,我们来看看啊,它什么时候执行,这是14循环啊,来看效果,这一走I4冒号写错了,又写成中文的了啊,这一保存,咱我们再来看一下,走一个,哎,是不是最后执行一次else,哎,执行应该else啊,在我们的subli里执行也是一样的啊,直接F。Pon can open file file name base no such file directly。啊,关掉啊,我们再执行一下,哎,这样是不是就执行了,哎,就执行了啊这么一个效果,那这else什么时候执行啊,哎,所以注意啊,咱们来看一下,直到判断结果为false,则循环终止,哎,如果什么呢?如果循环有对应的else,哎,则执行我们这个else后的一个代码块,也就是说else什么时候执行,Else就是当这个条件表达式为出为false的时候,Else就会执行啊,Else会执行,大家有会执行,没有就不执行啊,没有就不执行,所以这也是我们这个while的一个特点,它在这里面可以写这个else啊,可以写这个else,这也是我们Python里面独有的啊,独有的好,那这个就是我们说的一个循环语句,非常的简单啊,非常简单,你需要做的事儿,把这个语句的语法自己来尝试去写一下,自己可以根据需要创建一个指定次数的一个循环啊,创建一个指定次数循环,然后我们这有几个练习啊循环语句,我们这有这个四个练习啊,练习一。
15:40
求100以内所有奇数之和,练习二求100以内所有七的倍数之和以及个数啊,然后练习三,然后这个求这个水源花数,练习四是这个任意数是吧?哎,判断它是否是质数啊,那这里边呢,至少现在练习一练习二,咱们可以思考一下练习三练习四稍微有一点点难度,我们可以先思考一下练习一还有练习二啊,我们先停一下,把刚才那个做一下,然后把练习一练习二来尝试去写一下啊,我们先。
我来说两句