00:00
好,各位同学,我们现在呢,来做一下康佑的课堂练习,好吧,课堂练习我们来一起练习练习一下,看第一个题,好,第一个题呢,这段代码我们来分析一把,诶这个呢,我们把它缩小一下啊来走一下大家看。他说I等于零,I小于13 I加加。如果I等于十就continue啊,这个地方这个分号没有啊,这多写了一个,然后就输出结果,大家想一想这个输出什么内容。如果你在看视频的话,你可以先想一想,再听老师的讲解。可以停下。OK,好,大家跟着老师思路,其实这段代码特别简单,因为大家看这里面是只有一层循环,连for循环两层for循环都没有,其实很简单对不对,其实很简单。那同学们想一想。如果我现在呢,如果我现在这样分析,大家想。如果I等于零。那也就是说I等于十的十,十的时候就跳出去嘛,那这个结果就应该是I等于零。
01:05
一直输到I等于一也会输出,他一直输到什么呢?I等于13,但是中间有一个不会输出,就是I等于十没有输出,因为I等于十的时候就跳出去了,因此它的结果应该是01234。56789到九了啊,假设到九了,十没有输出十没有。然后就十一十二可以了。因为13不小,因因此是零,十三都没有啊,十三都没有,因为13的时候他就不进来了,所以它应该是0123456789。11、12。是这个输出才对。大家可以去验证一下,老师就不执行了,再看这个题,我说说说说一下输出什么啊,输出0123456789。
02:02
十没有,11 12 13也没有,因为十三进不来了,所以输出这个结果,如果你分析是这个结果,那么恭喜你就对了,我再看下面这个题,下面这个题我们来分析一下,大家看这里。它是它是一个双层循环,I等于零,I小于二,I加加,J等于一,J小于四,J加加,如果解等于二的时候,就continue有。否则就I等于多少,解等于多少,大家想这个结果是多少?其实挺简单的,大家看,那也就是说当解等于二的时候,会糖听有,那如果结不等于二呢,就。就执行吗?那这个很简单,一共进来几次波循环啊,外层有两次,所以说I等于零肯定会进来,再说输出什么呢,J等于。0J等于零,而J等于一,会输出。好,紧接着I等于零,解等于多少?I等于零,J等于二不会输出了结会跳,J等于二的时候不会输出,就跳回去了,跳回去J加加就会输出,J等于几呢?J等于三。
03:08
对不对,因为二没有机会执行嘛,执行过后再来看,这个时候J等于三的时候,结加加变四变四的话不会再输出,于是就整个就跳出,又跳到上一上一层循环,于是再执行I等于一。I加加了嘛,所以说再出J等于一,紧接着I等于一,再输出J等于几啊,J2会跳出去,所以说呢,J还是执行一个三。看到没有,也就是说整个结果是I等于零,解等于零,I等于零,解等于三,I等于一,解等于一,I等于一,一解等于三。如果你想不起来,你。你你想不起为什么是这个结果,什么办法呢?你还是老规矩,就把老师这个图,这个分析的方式自己走一遍,一定可以得到结果,这个结果就这样子的啊,如果你你想出来是这个结果,恭喜你就答对了,我们再来看这个题。
04:01
这个题呢,用了标签了。这个题用了标签了,要用了标签其实更简单了,大家看,我们来看它整个逻辑还是I等于。I0和二,大家看,这里面用了count,假设这个坑没有count厅有。没有continue,大家都知道它是跳出。离他最近的这个循环。这个跟break是一样的,但是呢,目前它有hair了,大家看这个hair在哪里呢?Hair在这。看清楚没有,所以它一下就跳出最外层了,那么我们来看这个结果应该是多少,那I等于零进来了,I等于零进来过后注意听,这个时候它进到这里面,I等于零的时候,解等于一会输出,这个是有机会输出的。好,紧接着结。大家看J再加加的时候,J加加变二二进来,Come here直接到这来了。到这来的话呢,相当于说下面代码就不再执行,于是乎直接进入到I等于哪一层了,I等于一这一层了,也是会输出I等于一,再输出什么呢?结是不是又被负成一了。
05:12
结的又浮成一,那这么这个再输出一个解等于一没有了,因为你这个结等于一的时候,再加加解等于二,它又回到这,再回到这的时候,结加IE加加不等于整个就退出来了,所以说这个跳到here的时候呢,整个输出结果是这样子的。大家看对不对。说老师你这个结果到底对不对,你这样分析的这么快,诶我还有点反应不过来,再说一遍啊,有些时候不能说每一步都分析的那么细致,如果你要细致把这个图打开自己去分析,老师刚才其实讲的很清楚了。因为我只举了一个例子,大家都应该举一二反三,明白好吧,那这个代码程序结果就是这样子的,如果你不相信,你可以把代码敲一遍,自己去执行,一定是这个结果,来,我给大家执行一遍。
06:01
好,总是大家有点不放心,对不对,好,我写一段代码,我就直接放到这里,我把这个代码先注销一下。注销一下。来吧,我直接看,刚才我们分析这个结果应该是输出什么代码,我就不去整理它了啊。简单的整理一下。Okay。简单整理一下,我用这个if这一块往后边挪一下。那么这段代码我们刚才分析会输出什么呀?输出四组是吧,01031113看一下对不对。跑一个。直接运行。看效果。没有问题,01031113跟我分析的完全一样。01031113好,我们再看这段代码。这段代码呢,它是跳出外层循环。啊,外侧循环,也就是说它是终止本一次直接到外面这一次再去继续执行,于是乎它是I等于一,Ii等于零,解等于一,I等于一,解等于一,大家看能能不能反应过来,好,这段代码呢,我把它拷贝到这里。
07:11
我们把这个代码稍微的整理一下,格式整理一下。好。没问题吧?把这个地方我们整体往这边挪一下,看起来比较舒服,然后整体再怎么挪呢?在这里面再挪一下,它是这里面是一个循环,对吧?诶,OK,这样代码好看多了,我们再来跑一下,看看这一段代码跟我分析的结果完是不是一样的跑起来。看一下0111完全正确,说明刚才分析是OK的,好这样这样子大家应该心里面就放心了,好关于第一个题评价我们就说到这里,我把这段代码呢。把这个评价的第一个给大家放在笔里面去,对吧,这是三个,但对三段代码的一个分析。就叫continue。Continue的课堂练习。
08:00
课堂练习我们放到这里来。练习一练习一。我们来一个小的标题。放这。好,跟上思路。结果我已经写好了,那下面呢,我们再来看两道练习题,第一道练习题是continue,实现打印一到100之内的基数,要求用for循环加continue来一起完成。这个难吗?一点都不难,对不对,只要你把前面老师的都讲的都听懂了,这个不在话下。那我一起来完成。我们走下代码。来吧。还是老规矩,放在我们的continue man.go里面去完成。往这一写,我们来一起完成它。因为它是个练习,所以说呢,我干脆还放在exec文件夹下面去,我们新建一个文件夹叫continue。
09:00
CONTINUE2EXEC。好吧。在这里新建一个文件,跟上思路,慢点go。到样子,我们打出一个包。面包。然后呢,Import我们的format包,然后bank专属对吧。走一个好,要求很简单,就这个东西,我们一起写负循环嘛,I。定义一个1I小于多少呢?小于等于100没问题吧,然后I加加。然后他说打印一到100之内的奇数,什么叫奇数?就是不能被二整除的,那这样写吗?如果注意听,如果I怎么样呢二。它等于零了。那什么意思,就continue。就不执行了,就就继续下一次嘛,Continue就完了,否则我们就输出这句话。
10:01
对,技术。啊,技术是。激素。激素。是多少呢?来我们输出一下,把当前这个I输出来就可以了,来我们跑一下,看看代码能不能跑起来。这就写完了,看到没有CD。到exec。进到CD,我们的continue ETC来run。我们的命顶够,跑起来。好,你看这样子就把所有的基数打出来了,从这开始的13579对吧,诶没问题吧,基数就是不能被二整除吗?那这个都不能被二整除,说明是正确的。第一段代码就写完了,非常简单这段这段代码非常简单,来,我把案例的答案给大家放到笔记里面去。这是第一个题。这是第一个题的完成情况,那下面呢,我们还有一个练习题,我们接着来做一把。下面的练习题注意听,下面是从键盘读入一个个数不确定的整数,并判断读入的整正数是读入的正数和负数的个数。
11:11
就是要求你要求你把正数和负数的个数统计出来,输入为零时结束程序,结束程序,好,我们来一起完成一下,看这个题怎么做。然后呢,要求用for循环,Break continue。那我们一起来做一做。好的,来,走一个。从键盘读入个数不确定的整数,那肯定就是个负循环处死循环了嘛,当然这边我们写个错啊,也可以不写也行。啊,不写信我就开始来玩了。首先呢,我来定义一个,因为他要他要去判断正数的个数和负数的个数,所以说我先定义两个变量。对吧,正数positive positive positive positive,对吧,Positive count。
12:01
Positive。那么默认。是零,VR还有一个负数的个数,这个positive positive代表是正数的意思,大家看一下,查一下这个单词好吧,Negative negative这个呢,是复数的意思。这个是用于统计负数的个数。负数个数上面这个呢叫。正数,我们正数的多数。对吧,正数这个单词,大家看一下正数的个数。好,我现在呢,开始来接收一个变量,这个这个这个数呢,我可以先定到外面去inch,好,我写一句话。我提示他,请他输入一个数。我print LN,好,我说请输入一个整数,请输入。请输入啊,请输入。输入。
13:00
请收入。一个整数,但是个负数,负数和正数都可以。负数和正数都可以,然后呢,我就接收一下。接收点,Scan。C。LN我怎么接收呢?没问题,我就直接输到number里面,我就开始判断,如果说注意听,如果我的number大于等于零。那就不用说了,直接break。能理解吗?就我我就退出了吗?因为他就说了,如果输到零就结束程序,那就跳出这个就是终止这个for循环,当然我用break,我不我不能用continue,对吧,我是终止。就是终止这个服务循环。终止负循环,所以说我这里用的是break,那接着往下看。如果。如果number。Number大于零。那我怎么办呢?好,那就说我得到一个正数了,那就把它加加。
14:05
好了,问题又来了,那如果我的number小于零。那么我的负数就加加。写完了,但是呢,大家看到这里面其实有点不划算,我这样写,因为如果number大于零的话,我下面再去判断没有意义。大家想一想,是不是这个道理啊,因为你number大于零,绝对不可能再小于零嘛,对于一次输入不可能说又大于零又小于零,因此这句话其实没有必要再判断了。没有需要判,也就是说,当我发现这个数已经大于零了,我就把它加加加加完了过后就直接。看听就完了,多好啊。大家理解我的意思吗?就说。因为你等于零就break嘛,如果你大于零,大于零的话,我就把它的正数的个数加一,同时让它赶紧。进数进入到下一次的这个输入不就完了,因为下面再判断肯定是没有意义的,因为一个数已经大于零了,再去小于零没有任何意义,所以说这里面连判断都不要都可以。
15:10
看这个代码有了continue,我们代码呢,就显得更加简洁了,大家看这个逻辑能看懂吗?再说一遍。Number等于零就退出程序,如果number大于零就加加加加完了过后好。这次。循环就相当于结束了,赶紧给我进入,进入,下一次再来统计。因为。因为你这个大于零走了,下面下面这个数也不用再加了。因为你已已经是个正数了,我下面再去执行这个动作有什么意义呢,对吧,所以这个地方显出显示出什么呢?就是结束本次。他就说结束。结束。本次循环进入到进入下次循环。不是终止啊,是进入到下次循环,理解好,我们来玩一把,整个做完了以后呢,我们把这个结果输出一下。
16:07
Format。点print,我们输出正数。正数个数是,好,正数个数是,那干脆我们把它格式化一下吧。用print f来输出正数的个数是,然后呢,负数的个数。负数的个数式同样也用V,那正数的个数呢?我们就是positive。还有我们的复数的个数就是negative,对吧,Negative。Count就行了,然后这个地方我们为了好看,来一个斜杠,那朋友们我们来玩一把,看看这个能不能跑起来。那这样子啊,我把上面这个呢,先注销一下,不要让上面代码影响我们下面的执行。跑一个。走起来。
17:01
说一个正整数,比如说一。再输入一个整数九,再输一个整数好,我们再输一个负数负一。然后呢,负九,然后负。87再来一个正数九。好,同学们,现在我问大家,我的正数一共有几个?12344个正数,三个负数,这次我退出。统计出来正数有四个,负数有三个,看到没有?完全OK,完全OK,所以说这个代码呢,咱们就这样写就可以了,我把这段代码的源代码,包括它的分析流程给大家放到笔记里面去。便于大家的复习。OK。把这段代码咱们就搁在这了。搁在这,那么这个题练习题是怎么回事呢?写一下啊。这个是练习题,我忘了把题粘过来。把这个题的要求放到这里来。
18:02
好,隔断一下。好,这地方我们已经做了几个题啊,一个练习题,两个练习题,三个练习题,我相信通过这三个练习题呢,同学们应该对continue continue的使用有一个更加深入全面的认识,因为我们去认识一个技术或者是一个知识点,往往是需要做案例或者做项目才能认识的,我做了三个。大家应该比前面要认识的更清晰了一点,最后还有一个作业,这个作业呢,我不打算讲了。我这写了同学们课后自己完成,这个是个课后练习题,我说一下,说某人有10万块钱,每经过一次入口需要交费,规则如下,当现金大于5万时,每次交5%,就说如果你的现金大于5万块钱,那么你就交你现有钱的5%。如果现金小于等于这一个5万时,每次交1000块。
19:01
编程计算该人可以经过多少次入口,请使用for加break的方式完成。想想这个怎么做?这个呢,我要求同学们课后自己完成。OK。如果说你没有完成的话呢,你们也可以关注我们上硅谷的这个官网,到时候呢,也会有一些答案公布出来,但是我相信同学们都能做完,对不对?不说每个题都要老师讲一遍,就算我这个题讲了,下一次再出一个题,也需要你们自己独立去完成,所以说培养一下大家独立完成。这个案例的或者完成作业的能力也很重要,我相信同学们都能做出来,把这个题呢,也给大家放到笔记里面去。好,同学们先想一想,琢磨琢磨好不好?如果确实做不出来再说。然后呢,我把这个案例呢,也给同学们放到这儿。好的。把这个要求,把这个题的具体要求放到这里去。
20:00
发到笔记中对吧,大家应该有个认识好,那关于我们continue的内容呢,我们就全部介绍完了。各位,你只要把老师讲的康这些内容都掌握了,我相信在编程里边,百分之八九十的这个应用场景都应该出现了。OK,那其他就是大家一个熟练的过程,好,关于这个康听友我们就先给同学们讲到这里。
我来说两句