00:00
好,接下来呢,我们来看一下这个练习啊,先看前两个练习啊,练习一还有练习二啊,这两个练习呢,其实非常简单啊,我们来先创建一个新的文件保存一下,哎,扣我们这个零七。我们的一个练习,呃,点一个PY。那这里我们来先看第一个练习啊,我把这个粘过来。让我们求100以内所有的质,呃所呃,求100以内所有基数之和,那做这种题的时候呢,不用着急,咱们一步一步来啊,我们去包括到了工作中也是一样,我们经常会拿到一些这种呃,领导也好,老板也好,给的我们的新的需求,我们需要去完成这个需求,那这个时候我们要做的第一件事儿就是把一个。大的需求,把一个大的问题给它分解成一个一个小的问题,所以现在如果你是第一次做这种东西的话,求100以内所有的基础之和,可能还没有那么思路,那这时候怎么办?我们先来一步一步来,哎,我们先把这个问题给他细化一下,那比如说他现在让我们求100以内所有基数之和,我可能还不会,那我能不能先做一件事儿啊,我能不能先获取诶所有100以内的一个数啊,哎,所获取所有100以内的数,那这个时候其实就非常简单了,那其实我就是写一个100次循环是不是就有了呀?哎,所以这个时候我们来一个I等于零,先初始化一个变量,然后这来一个while,那既那既然是一个100以内,所以我们这就是I小于100,因为我循环要直行100次嘛,然后这再来一个I加加,现在我们这普润的一下I这个I,哎,不是I加加啊,是我们这个I加等于EI每字字增一,现在这个I就是什么呀?哎,现在这个I就是一个一。
01:50
百以内的就是一到100啊,我们来执行一下来看效果,哎,我们来看I的值是不是现在是从一一直到。100啊,哎,一直到100啊,这就是我们说的,现在我们已经求到100以内所有的数了,然后现在这个I是不是就是那个数啊,哎,就是从一一直到100,那现在我们来看一下,我们又有需求了,我要干嘛呀,还还得是什么呀。
02:16
奇数,哎,说我要求所有奇数之和啊,所有奇数之和,那我们说了,我要求一到100所有数的和,我要怎么求?我们先不求奇数,我们先求一到100所有数的和,哎,那这里边就非常简单了,我们先要创建一个变量,哎,创建一个变量用来干嘛呀?哎,用来保存我们这个结果啊,保存结果那这块我们来直接来个sum等于零啊,Sum等于零,哎,那这个sum是干嘛的呀?就是来记录我们这个变量的,或者这么写吧,我们写一个re sot result等于零啊,结果是零啊,我用它来保存我们这个结果啊,Result等于零,然后整完它以后干嘛呀?那我们想想,我要求一到100的和,那我是不是把一到100给它加到一起啊?哎,给加一起,所以在这我就写什么呢?我就写一个这么一个东西,诶,Result等于一个什么呢?哎,Result加A啊result加A,那这样什么效果,也就是说我现在做的这个事是让result。
03:16
它的每一次和I进行累加,第一次re是零,那就是零加一,第二次是一呢,就是一加二,然后是二,然后是往后一个个加呀,哎,一个一个加,那这样就累加进去了,其实这个简写直接就是什么呀,Result加等于,哎,其实说白了它的意思就是把I每一个I一个一个加到这个result里啊,从一一直到100都加到这个result里,那最后result就是什么呀?诶,Result就是我们最后的一个结果,那现在我们在最外边来打一个result,注意这result可不能在循环里打,我们要打到什么呀,外边直接print,我们来一个ret result等于我们来一个result,这一保存一执行是不是等于5050啊,诶,这是我们说从一一直加到100,但是现在我们的要求是什么呀?得是奇数啊,得是奇数,现在我是不是所有的数加呀,也就是说我在加之前,我还应该做一件事,我应该判断什么呢?判断我们这个I是否是奇数啊,那怎么判断哎,我们说了一个数是偶数,奇数怎么。
04:16
判断,哎,如果能被二整除就是偶数,如果不能被二整除是不是就奇数啊,所以我直接来一个if,一个I摩也二干嘛呀?哎,不等于零,摩一二不等于零,证明它是不是不能被二整除,不能被二整除就是奇数,如果它是奇数,我再对它进行累加,注意这时候要缩进了,因为这个玩意儿就由我们这个if来控制了,也就是if让它加,它才能加呢,是基数才能加呢,那这样等于我们是不是在Y循环里又套了一个if呀,哎,语句之间是可以互相签到的,就不再强调了,那这个时候我们再来看结果啊,再来看结果,这直接一直行走一个是不是就是一个两千五啊,哎,两千五啊,那这个就是我们100以内所有基数之和,那这里边的注意啊,一点,第一个我们需要创建一个变量来保存这个基数,哎之和保存这个和这个变量,注意要创建在我们循环的外边,你要写里边的话,每执行一次循环,它就会出始化一次,每执行一次就会出转一次,那它永远。
05:16
都是最后一个数,所以这个要写外边第二一个,我们在循环内部需要判断一下这个数是不是什么呀?哎,是不是奇数,如果是奇数我们才进行累加,不是基数我们就不加啊,不加好这个是我们说第一个求100以内所有基数之和,其实这道题啊,就是让你把所有基数打印出来就OK了啊,那其实还有一种方式,还有什么方式呢?我们来看一下,还是啊,我们不我们不求和了,我们直接获取100以内所有的基数,所有的基数怎么获取,哎,我们可以直接来一个,还是I等于零,然后这直接Y要循环,Y要循环我们来一个I小于一个什么呀?哎,I小于一个,这个100啊,小于100之前我们是I加等于一,I加等于一,然后在这我们普润一下I,这个时候它的值就是什么呀?哎,就是一个从一一直到100,这没什么可说的,那现在我们是不是不要这种二,我们应该要的是谁呀?要的是13579这些东西吧,一三。
06:16
七九,那这时候怎么办啊,这时候怎么办?那这个时候我直接来一个这个什么呢?哎,来一个这个I加等于二啊,A加等于二,也就是说我让哎每隔两个累加一次,每隔两个累加一次,这时候我们再看一直行干嘛了,现在我每隔两个累加一次,它是不是二四六八十啊,哎二四六八十,那怎么办?我直接让A变成负一啊,我让I的初始值是负一,那这个时候第一次加的时候是变成几变成一,再加变成三,再加变成五,这样我们一直行再来看是不是就是一三五七九十一十三十七日,一直到最后是不是到了101了,哎到了101了,但是这到了101就不准确了,对吧?呃,不准确了,所以你这用用这个负一呢,也不好,也不好,但是最好呢,还有一种方式干嘛,我改成一,改成一的效果,我们再来看,这时候是变成了三五七九十一十三,一直到101,那这个时候出现什么情况了。
07:15
是不是就没有一了,怎么办?还可以你把这I加等于二放到下边,也就是说我先打印再自增啊,先打印再自增,这时候再看就变成了一三五七九十一,13,诶十五十七十九,一直最终到什么呀,99,那通过这么一个简单的调整,我们是不是就获取所有基数啊,然后我们在这儿好处就是我不用再判断了,直接在这个位置对I进行累加是不就行了呀,I就行了啊,所以注意我们也可以通过这种方式来获取100以内所有的基数,所以你会发现,当我们去用循环的时候,我们要想调整循环的次数,或者循环当中这个变量的值其实就是三个位置,一个是我们这个初始化表达式,你初始化值是多少,变化就不一样了,然后你的条件表达式多少,那最终结果也不一样,然后你这种变,这个叫更新表达式,你是在前边写,在后边写,都会有一个很大的变化啊,很大的影响,所以你在做循环的时候,一定要考虑这三个表达式他们怎么去写啊,怎么去写好,这是我们。
08:15
说了他,然后再往下啊,再往下接着说。再往下我们要说的是一个什么呢?哎,叫做求100以内所有七的倍数之和和这个个数啊,100以内所有七的倍数之和及个数,那这个东西同理对吧?哎,同理七的倍数之和,那我们先求出100以内所七的倍数吧,哎,我们也可以用这种方式先来求出100以内所有的数,然后再通过if判断它是不是七的倍数,怎么来判断它是不是七的倍数,怎么来判断?哎,那就是什么呀?哎,就是用它去除以七哎和七去取这个模,看能不能取出来,如果能取出来是不是就这么这么就就是啊,哎,就是,但是这块我们能不能用这种方式,那100以内七的倍数,那我这来一个I等于,哎,I等于,那我们可以从这个七的最小的倍数开始,那最小是不是就是七呀?哎,七的倍数最小就是七,然后既然是100以内,我直接YY什么呀,Y来一个I小于100 100以内吧,哎,100以内。
09:20
那现在问题就来了,我们这直接print一个I,现在I是不是永远都是七啊,那这时候我再来一个I加等于七,也就是说我每一次给I自增七,每一次自增七,每一次增七,那每一次加起来是不是都是七的倍数啊,这时候我一执行走一个,我们来看七,诶一七得七二七十四,三七二一四七二八五七三十五十六七四十二七七四十九,七八五十六,七九六十三,七乘以十,这是七乘以11,七乘以12是不是都是七的倍数?哎,七的倍数,那通过这种方式我们是不是就获取到所有七的倍数,哎,那注意了,你可以用这种方式也可以判断,待会你自己做的时候,也可以通过这个判断来做一下啊,通过判断来做一下,好,那现在我们这已经有了七的倍数,所有七的倍数,那接下来我们不要获取,我要的是不是它的和呀,那同理,我这是不是还要创建一个变量,哎来哎,保存我们这个结果,直接来一个re。
10:20
SULT。Result等于一个零,在这呢,我们直接来一个这个reut result加等于,哎,还是对它进行累加,那现在我们来一下打印一下,打印一下什么呢?诶,总和为冒号,然后逗号,我们来一个这个result啊,直接一打印走一个总和就是一个735,所以100以内所有七的倍数的总和就是735啊就是735,那这一块我们求完了,那接下来再看还让你求什么,求个数,也就也就是说我这个七的倍数到底有几个对吧?有几个呀,有几个到底,哎,那我们说了,说白了到底有几个其的倍数就是循环执行几次是不是就有几个呀?哎,循环执行几个就有几次,那到底循环执行了几次呀?哎,那所以这时候我们需要整一个什么呀,我们需要创建一个计数器,哎,创建一个计数器用来干嘛呢?诶用。
11:22
用来计算哎,记录哎我们这个循环执行的次数,因为我们说了循环执行几次,七的倍数就有几个,对吧?所以我们需要一个计数器来记录循环之间的次数,那什么是计数器啊?哎,计数器说起来挺高大上的是吧?其实计数器就是一个变量啊,计数器就是一个变量,我们来写一下,哎,计数器就是一个变量,哎,就是一个变量,哎,他是说什么呀,专门用来诶记录我们这个次数的一个变量啊,专门用来记录我们这个次数的变量,那怎么记啊,那说白了非常简单,循环执行一次,我就给这count加一,循环执行一次我就给count加一,最终我一看count是几,是不是就知道执行几次呀?哎,所以在这儿我们来干嘛呢?哎,为我们这个计数器加一。
12:15
哎,计数器加一直接写了,直接来一个count Co啊,Count加等于一,每执行一次加一个一,每执行一次加个一,那最后有几个是不是就是几啊,那我们这来写一下,再打印一下,打印个什么呢?打印一个总数量为啊,总数量为,然后我们再来一个这个result啊result,然后我们这儿不是result了,这应该是一个count啊,Count这一执行咱们再来看,诶,总和为735,总数量为14啊,也就是说一共有14个数,它们加起来和是735 14个数我们来看是不是啊,二四六八十十二,14是不是正好14呀?哎,正好14个啊好,那这个是我们说的这两个练习啊,总体来说比较简单,但是有几个新的概念,你需要自己去写一下,自己去做一下,然后下边还有两个练习三,还有练习四,我简单说一下,到时候你自己来尝试做一下啊,练习三人说了水。
13:16
尖花数是指一个N位数啊,N大于等于三,它的每个位上的数字的N次幂之和等于它本身啊,N位数可以三位数,可以是四位数,可以是五位数,可以是六位数啊六位数那它每个位上的数字是N次幂之和等于它本身啊比如说123 123是不是一个三位数?哎,123的一个三位数那什么呀?一的立方加上二的立方加上三的立方,如果还等于123啊,如果等123,那它就是一个水仙花数,或者是一个四位数,1234,那就是一的四次方,二的四次方,三的四次方加上四的四次方等于1234,就证明它是一个实间话术,懂这意思吧?那这举个例子诶,一的三次方加上五的三次方加上三的三次方是不是等于153呀,那就是说153就是一个水仙花数啊水仙花数好,那现在我们这练习要求我们求出1000以内的所有的。
14:16
比鲜花数啊,1000以内所有数花数,那这道题其实分布啊,第一个是我们先求出1000以内所有的数,诶,我要先求出所有的什么呀,三位数一定注意是三位数,你你两位数是没有意义的,一定是个三位数,所以我们要先获取到从100是不是到999这三三位数啊,哎,三位数,那你要先思考第一个问题,我怎么来获取这个范围所有数啊,对吧?然后我要做的事就是判断它是不是水源花数,那怎么判断呀,哎,比如说100,我要判断它是不是水二数,我就要看什么呀,一的立方加上零的立方,加上零的立方还等不等于100,如果等是不是就是水银话数啊,所以这个时候我的问题所在就是什么呀,我要获取到100的百位数,十位数还有个位数,那这个时候就是你要思考的问题了,我怎么来获取判断其实非常简单,加一块求和就行了,那你要难点就是怎么获取每一个位上的这个数字啊,每一个位上的数字啊,好了,这是练习三,然后练习四呢,让你干嘛呀获。
15:16
举用户数的任意数判断其是否是质数啊,是否是质数,那这块我们再说一下,可能有的同学就忘了质数是什么,我们再说一下质数到底是什么呀,哎,质数是什么呀,哎,只能被一和它。自身。整除的数啊,只能被一和它自身整除的数,我们说了一不是质数,哎,也不是合数啊,一不是质数,也不是合数,所以这一块我们说的是质数,就是只能被一和它自身整数的数,我们上高中时候都学过是吧?什么235 71 13、17、19,这些是不是都是质数啊?哎,他们共同点是它们的因数,二的因数只有一和二,三的因数只有一和三,哎,五的因数只有一和五,它其没有其他因数,你说只能被一和它自身整除,别的数没有办法除它,但是比如说你说六还是不是质数了,不是了,因为除了一和六以外,它还能被二和三整除,所以六就不是质数,所以这里边关键就是我们怎么去判断这个数是否是质数啊,怎么去判断,这两道题稍微有点难度,尤其是第四一道题啊,稍微去思考一下啊,思考一下怎么去处理啊,怎么去处理,我们来评一下。
我来说两句