同学们好,咱们接下来来看 python 操作题,这道题呢,他是要你求一乘二加二乘三加三乘四, 一直加到呢?摁乘摁加一,那我们来看这张流程图呀,他首先他让你填什么?他让你填流程图当中的一控以及二控,对吧? 那我们从上往下来看一下,首先他从开始这里一直往下走,然后呢输入了一个 n, 输入了一个 n, 然后呢?这个 n 是 啥?是不是你要停止的那个最后的那一项呀?然后呢往下走,这里有一个矩形框,它代表什么呢? 矩形框代表是处理啊,代表是处理,也就是一般来说是我们这里的叫赋值啊,赋值, 那它赋值什么呢?它这里是要怎么样?是把一这个空这个值赋给 s, 把一这个值赋给 i, 对吧?这个一这个值赋给 i 是 什么?是不是就 i 等于一啊? i 的 值变为一好了,再继续往下走,他让你判断 i 和 n 加一的关系是?如果为真呢? 他就往下走,对吧?如果为真往下往下干啥呢?他要把 s 加二乘二加一的这个值呀, 负给 s, 我 这里写 s 等于原来的那个 s 加上 i, 那 我这里 i 是 多少? i 是 不是复制为一了呀?一乘二加一是不是二了呀? 然后再往下走,往下走,给 i 负了个值, i 等于多少?等于一个问号,然后呢? i 等于问号之后。回去啊,我要回去,回去回去回去, 回去之后再判断什么呢? i 是 不是小于 n 加一的? 那假如说我下一次还是还是小圆加一的,那我是不是又要到下面这里来?那我到下面这里来是什么?那是不是又执行了 s 等于 s 加上一乘二,这是不是原来的这个 s? 这是不是这里的 s, 对 吧?这是原来的 s, 又要加上 i 乘 i 加一,你看我这里是不是给 i 进行赋值了,给它改变了?那假如说我没有改,没有改的话, 还是原来的一,那是不是又加上了个一乘二呀?那我题目当中是要干嘛? 是不是要加上二乘三呀?加上二乘三,那我这里是一乘二,我要怎么样变成二乘三呢?是不是我把这个爱的值给他怎么样去?你看啊, 二乘三,这怎么样改?他是不是比他大一位啊?你看是不是加一个就行了呀?所以我这里呢,是不是可以把 i 的 值呢?怎么样给他加上一个一? 你看,那此时 i 等于 一加一等于二了吧?那然后呢,把二和这个 n 加一进行比较,比较之后你看,哎,如果为真啊,我先不管它,如果为真的话,那是不是就变成了 原来的这个 s, 加上现在的这个 二乘二加一啊?现在的二乘二加一是多少?是不是二乘上三呀?你看啊,在下一次是不是又在原来的这个 s 基础上再去变成加上三乘四了呀? 一直在加加加加加到最后看看这个式子和我这上面的式子有什么区别? 是不是前面有一个出值的 s 呀?那我出值这里的 s 和上面的有什么区别? 是不是多了这个 s 呀?那多了这个 s, 我 应该怎么办呢?在负出值这个地方, 我是不是就可以把它负为零呀?零去加上一乘二,加上二乘三,加上三乘四,是不是就可以和上面的式子一样了吧?所以我们第一个空填的是零, 第二个空呢,填的是二加一。那咱们接下来来把这道题的代码给编写一下, 我们打开这个文件,然后呢,选择这个文件,右键 edit with idea 点它, 然后呢,我就可以把这个代码给它打开。打开之后,首先第一行输入一个 n, 那 这个呢? 记住,输入一个整数,摁啊,输入一个整数,摁,如果你只要输入的话, 只需要里面这一部分 input 函数去输入,我这里的摁是整数,所以呢,我要在外面加一个 int 函数,给他转成整数类型,那也就是说有的时候啊,他把这个 int 或者这个 input 给他抠出来,让你去填, 你要会填,那第二行呢?它是给 s 负一个初值,那我们刚刚说了, s 的 初值为谁啊?是不是为零呀?好, 那接下来呢,进入了一个 for 循环,这里有一个 range 函数。 还记得我们 rand 函数,那 rand 函数假设啊,假设我这里 n 输入三,那么 rand 一 逗号四, n 为三吗? n 加一是不是四?代表 哪个列表?是不是从一开始,然后二,然后三, 有没有四了呀?没有四啊,不包括这个中值,然后我这里的 range 函数代表这个列表。那这个 for 循环是什么?也就是第一次循环, 将爱的值赋为一,从这个列表当中去取啊,从列表当中取,我来写一下, 第一次怎么样?爱从列表中取,值,取第一个则 i 等于一,然后呢,进入了循环体,对不对?我取到值了,所以呢,我进入了循环体,那循环体是谁?是不是他?他这里要干什么呢? 你看我这里是不是就是循环体,循环体这里它告诉你了, s 等于 s 加 i 乘 i 加一,那我这里是不是就是 s 加上 i 乘 i 加一,你看跟它一模一样的好了,此时 s 是 不是等于原来的 s? 原来 s 是 多少?是不是零 加上 i, 此时 i 是 几?是不是一啊?一乘上 i 加一是多少?是不是二?此时是不是就 s 等于它了呀?接下来这一句,循环体结束之后, 循环体是不是没有了?没有了呢?然后再回去第二次 从列表中取值,取第二个 i 等于多少?是不是二了呀?那此时 s 等于原来的 s 多少?原来的 s 是 不是它?原来的 s 是 不是它?然后加上 i 乘 i 加一, i 乘 i 加一是多少?二乘 三了呀,你看 i 变成二了,对吧?所以是二乘三。这一句执行完了,再回去从列表当中取啊。从列表当中取 第三次 i 从列表中取值取,取取,取第三个,则 i 等于三,那此时 s 等于原来的 s, 这是原来的 s, 对 吧?加上,现在呢?再加上一个什么? i 乘 i 加一,是不是三 乘上一个四呀?好,接下来第四次,我再从里面去取,从列表当中取,取,取。哎,我这是不是取完了三,后面还有没有了?没有了吧?是不是结束了? 没有了,那我取不到值了,那我这里的循环就停止了啊,也就是循环体这边这么多,全部都结束了。结束了之后呢,就到了最后这一行,最后这一行是干嘛?最后 输出 s 的 值, s 等于多少?是不是就把这个结果 计算机给你算出来了?那是不是也就代表着,你看啊,我这里题目当中是什么输入一个 n 啊?我假如说输入的 n 是 三,那最后是不是到三乘四就结束了? 好了,那这个呢,就是我们这道题的一个代码啊,你看我你,我这是给你分析,你不要写这些啊,这后面你也不要写, 你只需要把这里的零和 s 加 i 乘 i 加一填上就可以了。填完之后呢,把它点击这里的 fire, 然后 save 保存,一定要保存哈,然后呢,你看 round 一下, 点一下这个他就出现了,让你去输,从键盘上输这个 n 为几?你看我输入为三 啊,他把最后的结果二十给我算出来了,对不对?你看零加上二,二加六加十二,是不是二十呀?那我这个代码就成功了。好了,成功了之后呢,你就把这个你看把它关闭掉就可以了。
粉丝5323获赞7.6万

江苏信息技术合格考已经是最后一天,前几批已经考完,其实今年的考试总体难度不算大,第一批 python 是 玩数,和中国尺码比较简单。第三批考完了 python 考了一个水仙花数,还有一个等差数列, 也有学生称抽到了黑卷,比较难。接下来就是十七到十九号的其他科目考试了,各位考生还请不要懈怠。



同学们好,今天我们来进行普通高中信息技术合格性考试复习,下面我们来看第一道题,下列选项中属于 python 输出函数的,是 在我们的课本当中给我们介绍了 python 啊,我们的输入函数以及输出函数,那输出函数选择什么呢?哎,选择我们的这里的 print 函数,也就是选择 b 选项啊, b 选项,那与之对应的输入函数呢?是谁? 是不是咱们这里的 input 叫做输入函数啊?输入, 那 a 选项当中呢?我们的 random 函数它是什么? 它是我们的随机数函数啊,随机数它可以生成一个随机数, 那 c 选项呢? c 选项, c 选项是我们的开放函数,什么叫开放函数呢?我们来写一个,比如说 s q r t, 哎,比如说这里面给一个数字四,那我想问,哎,根据我所说的,它叫开放 得开平方,那他应该返回的结果是什么呢?是不是返回二呀?对吧?因为二的平方是四啊,二的平方是四,那这个呢, 就是我们的第一道题,输入函数,输出函数啊,我们的 python 当中有很多的函数,那其实还有我们的最大值函数啊,求最大值 max, 还有我们的最小值 mean 啊,这都是我们常见的一些函数啊。好,下面我们来看一下第二道题,这个表达式运行后的结果是多少? 首先我们来看一下一百,哎,这里有两个斜杠,这双斜杠代表的是什么意思呢? 叫整除啊,整除好一个八,然后呢,再有一个星号,哎,这里的星号又是什么意思呢? 星号是不是咱们的晨呀?啊,在计算机当中,晨号用星号来表示, 好,再减去一个五,那这里呢,我们发现有整除乘以及减号,那他们哎,有一个优先级 哎,在咱们小学应该学过啊,先算乘除,再算加减啊。那我们这里的原则也是一样的,先算 乘除啊,再算减。那乘除是按照什么样的 先后顺序呢?是不是从左至右呀?啊?从左至右,所以我们首先要算的第一步是什么?是不是一百去整除 八?那一百整除八,哎,我们来算一下,一百除以八是多少? 十二点几吧,是不是?是不是十二点几?那 我们整除是需要干嘛呢?是需要去保留整数位就即可啊,整数位也就是我们只需要保留十二就可以了啊,十二点几后面的小数点把它抹掉, 那这是我们的第一步。那第二步呢,是不是进行十二去乘以二十二乘以二等于多少?是不是二十四呀? 对吧?二十四。那第三步呢,是不是需要去减掉五? 所以呢,二十四减五多少?是不是十九呀?所以咱们这道题的选项是什么?选择 c 选项 啊。那这里呢,考的是我们表达式的返回的结果,要考虑到我们的运算符优先级问题啊。 好,下面我们来看一下第三道题。第三道题呢,它是一个流程图问题,它问你执行完这部分流程后,变量 x 和 y 的 值分别为多少? 那首先我们要看懂这个流程,对吧?首先这里是一个矩形框,那矩形框呢?在我们流程图当中,它代表什么样的含义呢?是不是代表 处理呀?也就是我们数据的处理都要在矩形框当中去做。那咱们这里的哎, x 有 一个三箭头指向 x, 它代表什么样的含义呢?是将三的值赋给 x, 也就是我们写代码的话,是不是也就是 x 等于三啊?那这是个什么样的含义呢?是把三的值赋给了 x, 也就是 x 变为了三。那与之同理,我们的 y 呢?它是不是也有一个零去指向它?所以我们的 y 是 什么? 是不是就等于零?它也就是把零这个值 负给了 y 啊?负给了 y, 好, 那接下来有一个菱形框,那菱形框是代表什么样的含义? 它是不是代表判断?那这里呢?是什么? x 去大于 y, 它要进行一个判断,那我们这里的 x 多少,是不是三大于 y 呢? y 是 零,哎,他要进行一个判断。那想请问一下,我们三大于零,他是真的还是假的? 是不是真的?所以呢,我们会返回一个结果,为 true 啊,为 true, 那 也就是为真。那假如说它是假的呢?比如说啊,我写一个 四大于五,哎,假如说它是假的,那它应该会反,为什么叫 force 啊? force force。 那 处我们流程图当中应该怎么样? 是对,是不是代表了这里的 y? 也就是 yes 啊? yes, 那 false 呢?如果是假的呢?就,哎,这里是 no 啊, no, 好, 那接下来我们这里是三大于零为真,也就是流程图往下走, 往下走怎么样? x 的 值是什么?是不是 x 减一, x 减一多少?是不是 x 等于原来的 x 是 多少?三减一 又等于多少?是不是二呀?那 y 呢? y 是 不是等于 原来的 y 加上一个一,是不是就等于一呀? 好,那执行完了之后,他是不是,哎?他回去了啊?他回去了,他回去了又干嘛呢?他是不是又进行了判断 x 与 y 的 大小,那此时是不是 二大于一?为真吧?为真啊, 为真,所以继续执行。我们这里的 x 等于 x 减一,那 x 就 等于 二减一等于多少?是不是就等于一了?那 y 呢? y 是 不是等于一?加上一是不是就等于二了? 所以执行完了之后,我们还要回去,回去,回去,回去,回去之后呢,还要判断 x 与 y 的 大小关系啊,还要判断这是第一次, 第一次,好,那我们第二次呢?是不是变成了这个值?好,那判经过两次之后,是不是 x 为一, y 为二?那判断 a 是不是 x 大 于 y 呢?此时 x 多少?是不是一? y 是 不是为二?所以一大于二吗?不大于吧,所以呢,它为假啊?假, 那假应该往哪边走?是不是往这边走? no, 对吧?那我这边是不是就结束了,对吧?这边没有了。所以最后我们 x 和 y 的 值是多少?是不是一二呀?对吧?所以选择的是 d 选项啊, d 选项。


这道题呢也是我我讲这个运算符的时候讲到过啊。百分号和整除分别是什么意思?整除呢?就是把它的那个就是直接缩小,缩小,但是不要那个余数了 啊,啊,就不要小数了,百分二就是取余数,他说要取出六百四十五中的数字五,那我们可以怎么样呢?我们先把六百四四百五十六变成四十五,然后再取出。那这个怎么变呢? 四百五十六来整除一个十等于什么呢?等于四十五 啊,整除十就可以变成四十五了。为什么啊?四百五十六小数点往前移一位嘛,出一个十,但是因为它是整除,所以小数点不要了,所以就变成了四十五啊,然后四十五怎么样呢?百分号一个十,它就等于五了 啊。因为你看四十五除以十等于四,四十余数等于几啊?余数就是五。好,这时候五就出来了呀。所以先怎么样?先整除十,再百分号十,那我们连起来就是,呃,选 c 啊, 先整除十,再百分号十啊,再对十取一处啊。这个大家也可以稍微记一下。这是什么呢?百分号十和整除十这两个东西的连用,就是取出数字中的 呃,某一个位数,比如说,比如说四百五十六百,直接一个百分号十,它就等于什么?就等于六了呀。啊,因为相当于四百五十嘛, 是不是余个六啊?余个六啊,百分二十就是取余数的,那你要取前面几位数的话,你就先用先用,先用整除,把它除小来,然后再取这一位或者这一位啊,百分二十和整除式的连用 好自定义函数。哎,这题也蛮好的,说实话,哎,都是都是都是比较难的题了。 好,我们先来看题啊,输入一个正整数,实现反向输出,比如输出一百的话,输出零零幺啊,一二三就是三二一啊,这题超级好, 但是,嗯,但是你你们可能这题就是我刚刚在选择题里面讲的百分号十和整数十的连用啊,我把这题讲完啊,给你们好好讲一讲。首先 n 等于这个 int input 啊,不是不是,我都说出来了 int 啊,正整数嘛,整数是 int 啊, 整数是 int。 well, n 大 于零 a 怎么样?它说取个位数,然后呢?输出 a 不 换行,这个 and 我 大大部分都教过啊。 and 不 换不换行,然后 n 等于怎么样去掉 n 的 个位。好,这个首先它是个 well, 所以我们可以看三要素,这个肯定是要素一了,我们输入这个数字,这个呢是条件,当 n 大 于零的时候, 然后这个肯定是什么循环变量的变化嘛。因为你要知道三要素都是讲的是同一个东西,都是循环变量,所以我们看到这个条件的时候就要知道其他两个要素也肯定是 n 怎么怎么样啊, n 怎么怎么样。 呃,我的画板在这好,比如说我们用一二三来举例啊,一二三它肯定要变成三二一,然后呢?呃,等一下,哎哎哎哎。 好,那我们来看啊,当 n 大 于零的时候,那三啊,不是三啊,一二三大于零是勾的, a 等于什么呢?取个位数,也就是说在一二三里面我们要把三取出来,怎么取啊? 一二三百分号时就等于三啊,一二三百分号时就等于三。 这个这个我不给你们算了,自己去算啊,反正我说的肯定对了。余数之三啊,然后 print a, 那 就是 a 等于,那就把把三给输出了啊。逗号啊,不是逗号,它没有逗号,它就是不换行啊, and 不 换行。然后 n 等于什么呢? n 是 等于一二三啊, n 等于一二三 去掉个位,一二三去掉个位,是把这个三去掉,那就是 n 等于 n 整除十。 哎,百分号十和整除十的连用是不是在选择题里面讲过啦?好,那这时候 n 整除十之后等于什么了?等于一二,是不是把三去掉?但是我们又回上去这个循环,一二它怎么样?大于零又是勾的 啊,因为 n 大 于零嘛。那 a 又等于什么呢? a 又等于 a, 百分号十。这边其实是 a。 百分号十啊,就是等于一二,百分号十就等于二。好, a 等于二了,然后把 a 怎么样?输出出来了?三二了,对不对?我这边写个逗号啊,没关系的啊。然后 print a 嘛,把二输出了,然后 n 又等于什么? n 整除十就是十二整除十, 十二整除十之后等于几啊?等于一了,然后回上去,一大于零又是勾。那 a 等于一百分号时,等于一,好把一输出。 print a 啊,然后 n 等于什么呢?一整除十等于零, 然后回回上去,零大于零怎么样?错了,是不是循环结束?那是不是实现了三二一的输出?所以这一题很好,去搞懂它啊,去搞懂它,这个是要素一,这个是要素二。 循环变了,变化是每次整除十,要素三啊,要素三。那这边就是 a 等于什么呢? a 它百分号十取于数的结果复制给 a 啊,不是 a, 是 n 啊,说错了啊,是这个数字,这个 n 百分号十啊, 刚刚我这边都说错了啊,这边是 a n 啊, n 百分号十啊,讲讲太多话讲讲乱了啊。然后呢? n 每一次都要怎么样? n 整除十啊,就是变小一位。就是去掉末尾嘛,相当于去掉末尾啊。去掉末尾 好了,我们就上到这了啊,上到这了,正好讲到这一题,剩下的题目自己回去看看啊。剩下的题目自己回去看看啊。好,我们这边就暂时结束了啊,大家再见。

同学们好,咱们接下来来看几道 python 编程题。那第一道题,它是米尺转换器,若输入的 mode 为 c 二 m, 则把尺寸转化为米。若输入的 mode 为 m 二 c, 则把米转成尺寸。那它告诉你了,一米等于三尺,对吧?那一尺呢? 一尺是不是一除以三呀?是不是一除以三米啊?好,那这个是我们的一个题干。那接下来来看一下,第一行,它输入了这个 mod, 然后第二行呢?他输入的是这个转化的数值,那我转化的这个米或者是尺寸,他应该怎么样?他应该是不是为小数呀?他不可能全部都是整数米,对不对啊?那这个呢?所以第一个空填的是啥?是 flat, flat。 然后他说如果 mod 它和 c 二 m 相等,也就是我输入的这个为 c 二 m 为 c 二 m 是 什么?把尺寸转化为米, 尺寸转化为米,怎么转?也就我输入的是这个什么 data 吧。我输入的是 data, data 是 一个尺寸, 尺寸去转,米怎么转?是不是尺寸去除以三呀?它就转成米了。所以我第二个空就是 data 去除以三啊, 把我输入的这个尺寸去除以一个三,它就是米。好,接下来如果 这个 mode 等于 m 二 c, m 二 c 就是 什么?也就是把米转化为尺寸, 也就是一米等于三十,那我这怎么样?第三个孔, c 是 什么? c 是 我的那个算出来的尺寸,我要把我输入的这个米去怎么样?去乘以三,他是不是就是尺寸了呀?所以啊,这一道题一二三个空,就这样子。 那接下来我们来看一下第二道题,他说统计字母,他问你一个字母串当中有多少个井号,对吧?若不存在则输出零。 好了,那首先我是不是要输入一个字母串呀?用 s 等于 input 去输入,对吧?好了,输入完之后呢?这里给了一个 a n s a n s。 干嘛?我们看一下,看一下,他说统计井号的个数,那个数 是不是我每统计到一个,我要去加一个呀?那加累加是啥?累加 哪家的?出值是不是为零呀?为零啊?好,然后给了一个循环,循环循环,这个是循环变量。那我这里要在哪个里面去找? 哪个里面去找?是不是在我们的字母串里面去找呀?所以啊,第二个空,你看第一个空是什么零,第二个空呢? 在 s 里面去找,对吧?我输入的这个字不出来,我要去找,找什么?找井号,也就是我在这个 s 里面去找。找什么呢?找。如果我这个循环变量, 你看怎么样啊?他这边少了一个引号啊,如果他怎么样, 它和这个井号相等,也就是我这个循环变量,每次找找找,找了和这个井号相等怎么样?相等是不是用双等号呀? 是不是用双等号啊?双等号,这个不是的啊,双等号代表什么?代表等于啊,等于 啊,等于。那第四个空,它统计井号的个数, 它用 ans 去统计个数。那 ans 呢?是不是在原来的基础上,就是每次找到了,找到了过后呢?在原来的一个基础上去加上一个一,所以我们第四个空填的是 ans 啊,这是一个累加, 很多题都考到这种,等于它原来的去加上一个 e, 或者等于它原来的去乘上一个 i 呀,或者乘上一个什么 一些数值啊,那这个呢?是我们的一个第二道题,第二道题, 那第三道题呢?它考察的是一个完数,对吧?完数,它是啊,恰好等于它因子之合,不包含本身。 那比如说这里的六,它的因子就是一二三去加起来正好等于它本身,所以它是完数。那接下来我们来看一下, 首先输入一个数为 n, 然后呢给了一个 s 为零啊,他后面就存我们一个数位和,对吧?好,那接下来 four 循环给了一个 rand 一, 然后到 n, 那 我想问我这里的 rand 函数生成一个列表是啥?是不是一二三一直到 n 减一吧,因为它这里它是不包括 n 的 啊, 你看跟题目当中一样,它说不包含它本身,所以列表在这。那如果我这个数 去怎么样?除以二的余数,我第一次是不是除以一的余数?为什么?如果为零,他是不是就是因子呀? 如果为除以一,他是不是就是他的余数为零?他是他的因子,那除以二的余数为零呢?他是不是也是他的因子?也就是他如果余数没有,他就是怎么样?因子 啊?如果满足这个条件,它怎么样?它到这了, s 加等号,加等号谁呢?将因子累加到 s 当中,那是不是将 i 啊? i 是 n 的 因子吧?所以, 那这里第二个空填的是 i 啊,填的是 i, 那 我们这里用的是什么?加等号?那假如说它这里给你的是啥?是等于号,那你就应该写成什么 啊?如果它是一个等于号,那应该是不是要写成 s 等于 s 加 i 呀?是不是它俩是一样的啊?好,那接下来 这里是我们的循环,对吧?循环,循环完了,他是不是把核因子的核全部累加到 s 上去了?累加完之后,我是不是要进行判断,如果我这个数的本身和核怎么样,核怎么样, 等于吧相等吧?相等应该用啥?是不是双等啊?双等如果等于他,他就会输出 这个数是完数,否则就输出这个数不是完数啊。那这个呢?就是我们这一道题。那接下来再来看一下我们这个统计整数 所有位,所有数位上数字三出现了一个次数,那我怎么样?你看这里是不是一个?这里是几个?是不是三个?我是不是要去找这个数每个位啊? 对不对?那我们来看啊, s 代表三的个数,个数一开始是不是为零呀?一开始我啥都没有,一开始我没有去找对不对? 负出值为零,那第二个扣我们继续来看,当 n 大 于零的时候,也就是说我这个数大于零的时候,怎么样去 把 a? a 是 干嘛取个位数,个位数怎么取?是不是取余啊?取余就是我们的个位数啊?对,十去取余,则就是个位数。好, 这里 if 丢了一个冒号啊,那假如说我这里考 考察的时候,它这里冒号丢了,你要给它补上啊。就是假如说让你填这个孔, 他只给了一个 e f, 然后呢?他假如说啊,他写的是 e f 一个四,他后面没有打引号, 你填四的时候,你要怎么样把这所有的都要给他填上啊?也就是我这里的四是啥? a 等于三,冒号。好了, 那这里的第三个空,我们来看一下第三个空呢?如果这个这一位个位数取出来了,取出来它等于三,也就是和三相等。那我是不是找到一个三了呀?找到一个三要怎么样? 在它的基础上去加上一个一。我是不是找到一次了呀?在原来的基础上去找到一次三了,对吧?那这个呢?就是我们这道题啊。

好,我们继续给大家来介绍有关于 python 操作题的有关的题目,还有这个题目啊,说通过擂台法求解列表中的最大数。 好,我们看一下啊,说说明 a 等于这个啊,这就说明是一个列表啊,我们要列表一定要熟悉啊,列表的考察的 这个内容啊,还是比较多的,所以我们有必要把列表呢认真的总结回顾一下。所以我们只要看到这种方括号的这种形式的,基本上就是列表,这个就是列表,那列表呢,它可以放多个元素,多个元素 通过赋值语句给个变量,所以这个 a 就是 一个列表类型的变量。列表也是我们的一个数据类型的一种啊,列表的关键字就是列表的意思啊,和那个映客, 那个 flot 啊,还有我们这个 str 字母串,都属于数据类型的一种啊,这四种类型我们要熟熟知啊。好,那什么是列表呢?首先外形结构就这样啊,通过方括号里边放多个元素,并且用逗号把它分割开的元素与元素之间。 好,这个列表呢,其实也是一个,这是列表类型的变量,这个 a 就是 列表元素的变量。好,你怎么去理解这个列表呢?列表是我来画个图啊,我们先理解一下啊, 我们列表与我们的普通变量是有细微的差别的哈,那我们普通变量就是怎么回事呢?我们普通变量你可以看成是一个 一个容器,一个盒子啊,比如这个普通变量,它就是个盒子,那么这个盒子里面举个例的这个变量叫 a, 那 么这个往盒子里面放东西啊,比如放个数字一进来,那么此时的变量 a 就是 一啊,就变成一了,那么如果再往变量里盒子里面再放个这个字母 c, 那么那么这个盒子里面表示的这个值就变成了字母 c 啊,所以他虽然放了多次,他最后的结果只只是以最后那一次放的那个值为准,他每他最后的值只能显示一个,这就是普通变量的一个 一个特点,他只能负,每次只能负一次值,而且只能显示最后一次你负的值的那个结果。那我们列表是怎样一回事呢?列表你可以看成他是一个 货架一样啊,这货架里面呢有很多小格啊,每个格子里面呢,这个整个货架就是列表,它可以看成是一个变量 a, 就 这个啊,可以看成是一个,是一个变量,这个变量类型就是列表类型的,它是列表类型的, 那货架里面可以格子,这每个格子里面都可以放一个,这个里面放一个数字 e 啊,这个放一个字母 a 啊,都可以,这里面呢,我们放一个汉字,比如中国的中啊,都可以放进来啊, 这里面再放一个呃,数字零,数字二啊,这里呢放一个呃标点符号吧,还有句号,对吧?啊?所以他的每一个格子里面都可以放置不同的类型的数据啊,对,他可以放那么多数据啊,就同一个变量里面啊,就是这个,就一个列表的变量,可以表示很多若干个 这个值放进去这个不同的这个值呢,我们称之为列表的元素,列表元素,那我们怎么找到列表里面的这个元素的值呢? 我们一般是通过缩引号来进行访问的,那什么叫缩引号呢?其实就是一个对每个元素的位置 给他编个号的意思啊,比如说我们一般情况下,缩引号是从最左侧这个元素开始编号的,我们把最左边第一个元素它的缩引号有编号定为零零号位啊,不是从一啊,我们计算机很多的这个编排的号都是从零开始编的啊, 所以第一个位置是零号,所以第一个元素就是零,他对应的这个地址位就是这个编号就是零,那么第二个就二,第三个他的位置就是二,第二个就一,第三个就二,那么第四个呢,就是三号,那么第五个元素就是四号位, 所以呢,我们可以这样对它进行一个缩影编号啊,那么我们可以通过这个变量名,列表的变量名啊,可以通过列表明 加缩引号的方式来访问这里面的元素,比如说我要访问这个一号,就这个一数字一,我访问这个数字 a 吧,这个字母 a, 我 怎么会知道字母 a 呢?因为字母 a 处于缩影的一号缩影,所以我们可以这样访问,首先写下你是哪一个列表的名字, a 是 列表名, 用列表的标志符号,就方框号里边加上缩引号,就是 a 列表中的一号缩影的元素,你等于谁啊?就它它就可以表示字母 a 啊,这个意思 好,当然这个呢是我们从左向右编号的,当然也可以从右向左去给他来个编号缩影啊,来个缩影,我们从左向右呢,是每次增加一编号增加一的,而我们从右向左呢,我们规定最右边的这个元素的这个缩影号为负一为负一, 那我们向左边是依次递减一的,所以最右边这个数引号也可以是负一,那么倒数第二个呢?右边这个第二个元素呢,可以负二,依次列 k, 从右向左是逐渐递减的, 所以每个元素啊,都有两个数引号,就是有差,你从哪个方向给他来数引啊?好,这个呢,了解了之后我们就好翻了,回到这个题目里面来, 什么叫打擂台啊?我们可能在这个电视上,电影里面看的比较多,是吧?打擂台需要首先需要一个什么呀?需要一个擂主,需要个擂主是吧?你要挑战我擂主, 所以呢,我们这里面,然后呢其他的人不停的去上台去挑战擂土啊,擂主,谁把擂主给打下去了,打败了,那就他成为新的擂主,然后其他人来继续和他挑战啊,就按这个关系,是吧,我们看一下,所以我们这个程序一开始必须要选定一个擂主,是吧?要选定一个擂主啊, 所以我们发现这个 max 的 这个变量就肯定是个类主啊,他就是类主,那就是是要设定个类主啊,我们把类主的元素啊, 默认是列表中的第一个元素,就是把这个 a 列表里面的第一个元素,你看 a 列表下的零号缩影,就这个元素啊,就它的值,作为类主,我们要给他一个,你不能没有类主啊,你和谁打类啊?所以我们首先要设定一个类主,我们指定这个列表里面的第零号缩影的元素为类主。 好,下面怎么办呢?下面我就把列表里面的这里面的元素啊,每个人都和类主去比较一下,看谁大, 如果大于类主的,那我就把这个类主仅一主把你混成类主,就大于这个原来类主的人就变成了新的类主啊,如果你小于类主的,你就 pass 掉啊。好,我们看一下,所以这里面呢,通过了一个放循环,放循环呢,也是我们一个循环语句的一个很长这个 一种格式啊,我们放循环有两种循环是吧?一种是技术循环,叫放循环。另外一种呢,叫条件循环,叫外循环。那么放循环根据循环次数来的,所以放循环里面,注意啊,放循环里面一定是循环次数,是已知的循环次数,已知的啊, 要看到 for 它的循环,肯定是我们能够从题目里面能够知道它循环次数的。好,我们循环次数是受谁来控制呢?就是我们 for 循环里面的循环次数是受谁来控制呢?把格式写一下,我们 for 循环里面的语句的格式,这样子的 for 后面跟上的是一个循环变量,那我们一般循环变量使用什么?使用 i 来表示关键词 in, in 后面注意啊,跟上的就是列表,列表啊,列表后面是冒号,注意啊,然后下面跟上的是一个什么循环体啊?循环体叫重复作诗的那个语句啊,循环体。 好,这里面列表就有两种列表,一种是普通列表啊,就是普通列表,我们注意啊,普通的列表我们用 list 表示普通列表,还有一种是什么数字列表,数列表就是我们常说的软件函数啊,有 这两种都是列表,这能产生的纯数字列表都是数字里面,而这个呢, list 呢,是普通列表,它里面可以是数字元素,可以是数字,也可以是字母啊,等其他的一些类型的数据啊。 好,那我们再看啊,所以这里面肯定是硬,后面是干的,是列表,你想这里面哪个是列表啊?他后面又说了,对吧?开在列表 a 里面依次取值,所以顾名思义,这里面填的是一个列表啊,这里面只有谁是列表啊?就 a 嘛,所以 这里面肯定填的是 a 啊,填的是 a 就 列表 a 啊,可变量。好,我们从列表里面注意啊,这个循环语句怎么执行的啊?来,我们看一下他是怎么执行这个循环语句的, 其实这个循环变量 k, 它是依次从这个列表里面去取数据的,那我们还看一下,回到这个语句啊,我把这个擦一下啊, 它是怎么去循环变量,怎么去取值的?怎么去赋值的?我们看这个列表就是 a, 就是 我们,我们现在这个列表啊,就是 a 的 列表啊,我们来看一下,在 a 的 列表里面, k 是 怎么取值的呢?它是依次给它看啊, 他第一次他是从从这格子里面取啊,从这个里面取值,所以第一次他取的值就几啊?就是一啊,从这里面就取的是一, 他依次向从前往后去,依次去取值的啊,那么他每取一次值啊,比如每取一次值就要执行下面的循环体,就冒号下面的这些语句就要被他执行一次,他每取一次就要执行一次啊。 好,那么当看取文之后呢?执行文这个里边的循环体里面语句之后啊,那么他要进行第二次 取值,第二次取值,那么取到第二个位置,就往第二个这个格子里面再取值,这个时候呢,就变成了取到了一个字母 a, 是 吧?字母 a, 那 么取到字母 a 以后啊,他又要执行下面的循环体,所以为什么循环体重复执行的呢?因为这个循环变量每取一次值,他就要运行一次啊, 那么那么循环语句用完结束之后啊,那么进行第三次取值的这个循环变量,又取到第三个这个格子里面的数据啊,取到了一个中字,是吧?加个中字啊,所以就这样中字取掉之后啊,他会又回到这个循环体里面,又执行下面语句啊。所以我们这个 负循环的循环的次数是受谁控制的呀?是受列表里面的元素控制的,是吧?你里列表的元素越多,我看的曲集越多啊,我看的曲集越多,我循环体里面的执行的次数就越多啊,所以说循环次数是受列表里面的元素的个数来控制的啊。 好,我们看一下,注意着循环变量,循环变量有的时候参与运损,有的时候呢,他不参与运损,他只是为了呃,循环次数的,是吧?这题里面呢,我们看他会不会参与运损呢?让我们看一下啊。好,他里面那么 k 开始取值了,我们来分析一下他 k 里面第一次取值取的谁啊?就取的是这个二三五,是吧?二三五, 那他比较一下啊,第一次取值取的就是二三五, 所以第一次开应该等于就是二三四五,它自己嘛,是吧?第一个取值,所以取到了第一个值之后啊,那么它要进行一个条件判断,这衣服不是分之以据嘛,就是进行一个选择判断啊,分之以据,所以要对这个 mask 是 谁啊? 它出数值不是这个吗? a 零嘛, a 零谁啊?也是二三二三四五嘛。所以如果这个小于开的话, 那这两个是不是一个?这两个值是不是一样了?本来这个值就二二三四五,这个开呢?也是二三四五,它小于吗?它小于,所以这个语句在开第一次取值的时候,就取列表里面第一个元素的时候,它是 它相等的,相等的不小于的,所以是不符合的。不符合干嘛?我就不需要教会了,我还是我自己吗?我类主还没有变类,类主没有发生变化,所以我就不让他什么这个类主发生变化啊。好,那我们来看, 这样就语句结束了,因为这里面就结束了,是吧?那么他这个第一次 k 的 取值就结束了,那我们进入取下一个语句,下个语句就取到了什么? k 就 执行取到了这个第二个数字啊, 你第一次这个循环语句结束了吗?这个循环体结束了,那进行第二次取值,第二个列表里面的元素是谁啊?就是五四二一, 五四二一。那么五四二一的话,我们发现什么在和这个去比较, k 就 变成五四二一了,五四二一了,而 master 呢?他没有变,他还是这个二三四五是吧?那显然是什么 k 要大于什么?这个要大于他的吧,大于这个二三四五的吧,所以 这个擂主比这个 k 要小了。怎么怎么,擂主怎么写啊?写法就是让这个擂主 max 是 擂主的意思啊,让擂主 身份发生变化,就是此时的 k, 那 此时的 k 是 谁啊?此时的 k 不是 五四二一吗?是不是让五四二一这个值重新复制给这个内容,内容就发生根根替了啊,发生变化了,所以这样就这次循环题也结束了,也结束了。那么结束之后是什么呀? 他要进入第三次循环啊,因为这个内容还要继续比啊,他元素还没有取完啊, k 要继续取值,那么取到第三个,第三个是多少?一二五四,一二五四。好,再去 k 就 变成一二五四了,此时啊,此时变成了第三次,就变成了 k, 就 变成了等于一二五四啊,一二五四。 那么一二五四的话,这里面我们看一下就要和还执行到这个循环体下面的这个循环体了吧,还要进行一个判断。那么此时的 mass 多少啊?此时的 mass 已经更新了吧,更新为上一次的五四二一啊,所以 mass 此时应该是五四二一啊, mass 应该此时的应该是五四二一。这个值上次更新过了, 所以此时比较一下, k 还是小的,所以此时一组列表不需要交换啊,不需要变更,这个列表不需要,所以那我们再一次进行下一次取值,二十三也不需要二十四呢,这个不需要,后面这个呢?又要一组了,是吧?直到 k 把最后一个列表元素取完, 走完最后一次循环,那么循环体就结束了啊,就结束了,所以这里面还有个空,这就是循环的一个原理啊。循环原理还有这一个空啊, print, print, 输出这个结果的话,哪一个是结果啊?这里面 哪一个就类主啊,你输入类主就可以,类主就是什么最大数,所以我们这题只要把类主给输出来就可以了。这里面类主是谁?类主就是这个 m a x x 嘛,就它嘛,所以这个结果很好去理解啊。你输入的最大数,最大数就是类主嘛,所以这个 max 就 类主嘛,所以这个题目就这样去解法的哈。这个题目 考察的我们点还比较多的一个,就是这个循环语句的原理列表的相关的一些基本知识还是蛮多的啊。这里面列表里面注意一定要通过的就是这个缩影列表。缩影啊,要明白。好,就到这里啊。

同学们好,咱们接下来来看这一道 python 编程题,它说输出十一到一百,所有能被十一整除的数的积,那首先它这里用到了我们的一个 range 函数,它要干嘛呢? 它从十一开始一直到一百零一结束,并且呢,它不包含一百零一啊,不包含, 所以也就是十一到一百,对不对?那能被十一整除是不是?我每次我这个列表十一,我的不长,应该怎么样?第二次是被十一整除呀,是不是加上一个十一就可以了呀?就变成二十二了,然后呢?三十三, 四十四啊,一直到多少?是不是九十九呀?那我这里的不长是多少,不长是不是就是十一呀?所以我这里的第二个空应该怎么样? 第二个空应该就是十一不长,对吧?好了,那第一行呢,它给 s 负了一个初值,我说我首先先不要管它,然后呢,第二行它有一个 run 函数,生成一个列表为它,对吧? 那如果取出来了第一个值啊, i 等于十一,那么就进入循环体,那进入循环体怎么样? s 就 等于啥?他说要干嘛?求积,对不对?那我 s 就 等于原来的一个 s 乘上一个什么?乘上一个 i 吧,你看我去乘一个 i 怎么样? 是不是原来有一个数?我现在 i 是 多少,是不是乘上十一了?也就相当于 s 去乘上一个十一,那第二次呢?我从列表当中取,是不是取二十二了呀? s 等于上一次的这个 s, 也就是 s 乘上十一,上一次的 s 是 它,然后再去乘以 i, 再去乘以 i 是 多少, 是不是二十二呀?那第三次 i 等于三十三, s 等于 s 乘上 十一,乘上二十二,这个是原来的那个 s, 再去乘上我现在这个 i 是 什么?是不是三十三?那我是不是实现了把 十,你看十一是能被十一整除的吧?二十二是不是也是三十三?是不是给他累乘?那我乘出来最后是不是多了这样一个 s 呀?那这里多了 s 之后呢?我们可以将这里的 s 负出值,那负出值为谁呢?是不是为一呀? 为一,我一乘上其他的数,是不是结果保持不变呀?那这个就是我们的第一个空啊,那第三个空刚刚我们已经写了,是什么 s 等于 s 乘上 i 啊? s 乘上 i, 那 这个呢?就是我们这一道编程题。那接下来我们在代码当中去运行一下, 我们来看一下这道题的代码,我们去打开这里的 test 零一拍摄文件,右键 edit with idea, 把它打开。然后呢,我们这里刚刚第一个空填的是什么?是不是为一呀? 为一啊,我来写一下,把它删除为一。然后呢这里 第二个空填什么?是不是十一啊?不长为十一。那第三个空呢?是不是 s 等于 s 等于什么? s 我 们要输入是英文状态下啊,也就是 s 沉沉在哪里?是不是在这个数字八这里,我要按住 shift 键不放,你看我这里就蓝色区域,代表它按住不放。然后呢,再去按我们的数字这个八,这个键沉, 然后再怎么样乘上 i, 那 这个呢?就是我们的第三个空,写完了之后呢?我怎么样?我要保存 save, 然后跑一下, 那他就把最终的结果给我算了出来啊,那这个呢,就是我们这一道编程题。 那接下来呢,咱们来看第二道题,那第二道题呢?他说输入一个数,如果能被五整除,则输出整除后的值,否则输出不能整除。 那第一行我们给 n 负一个值,负谁呢?是你输入的那个整数,对吧?用我们的 input 函数去输入,并且呢给他转成整数类型, 那第二步他说如果怎么样,否则怎么样,那很显然它是一个什么叫 if, 然后 else 吧, 是不是 if else 啊? if else 也就是我们的一个双分之,双分之,那也就是我们这里的第三个空就填什么, 是不是这里的第三个空就填一个 else 呀? else, 好, 那第一个空呢?他说如果怎么样,那如果他说你说什么 被五整除,我们在之前所讲到了被己整除是怎么写的?也就是这个数去除以五的余数等于零啊,那第一个空就是他, 第一个空就是它这个数除以五的余数等于零。那也就是要注意的是我们这里的等号啊,是双等 啊,双等号判断左右两侧是否相等, 是否相等,那一个等号呢?它代表了什么?负值啊?负值要给它区分开来,那接下来如果它为真,也就是它除以五的余数等于零, 那怎么样去进入到它的分子里面去,去输出了一个啥?输出整除后的值,整除的值怎么算? 是不是要用到我们的整除啊?也就是啥我这个 n 去整除五啊?整除五,那我的两个斜杠它叫做整除啊,整除, 这个是我们的一个,这道题第一个空是它,那我们接下来呢,把这个在我们的程序当中去运行一下, 打开这里的 test, 零二,我们打开,你看第一个空填什么?是不是把这里删掉啊?前面留一个空格在这里, 我这里的键盘是为了给你去演示的啊,你去看一看,然后怎么样去摁去 除以五的余数啊?怎么写?你看百分号是不是在这按住 shift 键不放啊,然后再去按这个五,是不是百分号出来了,然后你直接点五呢,就是数字五,当然你的键盘 右侧其实这一部分其实还有一个小键盘,这边也是可以的啊,然后等于双等号,等于零输出 n 两个斜杠五啊,去整除五,那这里呢?把它删掉填什么 else? 那这个呢?写完之后你要怎么样去保存去运行一下?比如说我输入的这个整数为二十,按一下 enter 键,我是不是就把二十除以五的那个整除的结果算出来了,是不是就是四呀?那再来,假如说我写一个 十九呢,他是不是说不能整除呀?那这个呢,就是我们这道题的一个结果啊,写完了之后把它运行的结果关闭,然后呢把这个也关闭,那这道题就写完了。 那接下来呢,咱们来看一下第三道题,那第三道题呢,他是一个给你一个运行的结果,让你去补充一些代码,对吧?好,运行的结果是第几行哎?第一行,第二行,第三行,第四行,然后呢, 这里是几加几,等于几,是不是?那首先我们来看一下,我们第一行是不是在这里, 第二行在这,第三行在这,第四行在这,那第几行呢?这个是不是第几行?也就是这个二代表的是不是他这里?是不是代表他这里 几加几?是不是 i 加 i 乘四,那我发现这个是不是就是 i 三呀?哎,加上三乘四是不是就是十二呀? 哎,那我这里这一列就是爱列,那这一列呢?就是爱乘四列,对吧?这一列。好, 那这里呢?是我们的第二个空啊,那这里是怎么算出来的?这里是不是就是爱加上爱乘四呀?所以我这一列应该是怎么写?是不是啊?加上爱乘四,所以我们的第三个空就是这样子啊?第三个空就是 i 加上 i 乘四,那这个就是第三个空。我们再继续来看一下,第二个空呢?我这里是不是 i 呀? i 是 几?是不是第三呀?我这里这一列的 i 和它相差几呀?是不是相差二呀?这个呢,它是不是和它也相差二呀?它是不是也相差二呀?所以呢,我第二个空应该怎么样? 而这个 i 去也就是三去减上一个二,它是不是就变成一了呀?四去减掉一个二,是不是变为二了呀?那这个第二个空就是它,那第一个空呢?我们来看一下,它这里是一个 range 函数, range 函数是怎么样? range 它初值,然后中值,然后呢?不场吧, 不长,并且呢,它不包含,我这里到哪里就结束了?我 这里的 i 是 不是,你看我的循环变量是不是 i 呀?也就 i, 我 要去这个列表当中取值,第四行也就最后停止的这个 i 是 不是六呀?我告诉你了,这里最后是六,然后呢,它不包含,那我这里是不是要写什么?第二个参数要写什么?是不是七呀? 第一个函数是初值,从哪开始?是不是从三开始呀?第一个函数为三啊?第一个函数为三,他第二次按的值是不是加上了一个一呀?你看 他是不是加一,他加一,他加一,也就是他不长是几,是不是就是不长为一呀?那不长为一我可以怎么样? 省略不写,你看我可以写在这也可以呢,或者啊,我这里就直接写什么三七啊?直接写三七,因为你最后一个不长,如果不写他默认为一, 那这个呢?就是我们这道题他的结果啊,我们分析出来就这样子,那我们去代码当中去写一下,看看最终的结果是不是这样的。 接下来我们来打开这里的 type 零三,然后呢? added with idea 打开,把这里的一空给他删掉,是吧?填什么?是不是从三开始,然后逗号七结束,但不包含七。然后呢? 这里的第二个空第几行?是不是第二减二行,对不对?然后四减二为第二行。那接下来这里的第三个空怎么样? i 去加上 i 乘四呀?那写完了之后呢?我要去保存啊,点击这里 file 保存,然后 run 运行一下。那我这里的结果是不是和我那边是一样的呀?我们来看一下, 是不是第一行三加十二等于十五,第二行,第三行,第四行。那这样的话,我们这一道题就写完了,写完之后你要把它关闭,把运行的关闭,以及这个代码也要关闭,这个呢就是我们这三道题的一个讲解。

现在呢给大家呢录制一个关于拍摄文件的如何打开的,以及如何对拍摄文件进行保存的,因为在不少同学在做拍摄操作题的过程中啊,对拍摄文件的操作呢有不少疑问, 比如怎么打开以及怎么保存啊,是否必须要保存,是否一定要运行等相关的疑问。我们先今天呢来给大家呢来解决这方面的问题啊。 首先呢你看到的这个页面就是我电脑里面放置的一些拍摄文件,那我们首先看一下,因为很多同学呢习惯性的打开拍摄文件,方法就是双击这个拍摄文件,那双击之后呢,我们看到这个窗口呢,不是我们平时看到的那个拍生的一个编辑的那个文件的一个状态, 这个已经这个叫属于这种执行状态,是吧用的状态了啊,这个时候呢,我们根本不好对其进行编辑和修改,那如何对这个拍摄文件进行 这个有效的编辑和处理呢?那必须要打开这个它的原文件啊,那怎么打开它原文件呢?我们根本不能使用双击的方式,我们采用的是右击这个拍摄文件啊,在弹出的菜单里面选择用 ideo 啊,就这个 ideo 编辑这个文件啊, ideo 选择它, 这样就打开了我们拍生的一个原文件啊,在这个文件里面我们就可以对它进行一个编辑和把填空的仅补全 好,如果修改好之后呢,我们可以就可以对它进行一个保存啊,保存的方法呢有两个,一个就是利用我们这个 python 的 左上角一个 file 文件的这一个菜单选项,我们点击它下面有一个保存的一个按钮啊,这个英文单词是保存的意思啊,随玩啊,保存的意思,点击 选择一下,这样就实现了对该开始文件的一个保存,或者你看这里有提示的或者什么。第二种方法就是用 ctrl 加 s 的 方法,这种方法是万能的,其他的文件的保存方式也可以采用这个方法啊,包括电子表格, excel 数据库的保存,其他的一个文件保存都可以用 ctrl 加 s 啊,那怎么使用 ctrl 加 s 呢?那我们首先按住键盘上的 ctrl 键, ctrl 键一般是在左下角有一个,最左下角有一个,然后呢不要松开,按住它,不要松开,然后再按住 s 这个键, s 这个键,这样就能实现保存了。 好,保存好之后呢,记住两种保存方法啊,保存好之后我们就可以呢对他这个文件进行一个,进行一个简单的一个用行测试一下。为什么要提倡要用行一下呢?因为你只有用行过之后才能确保你的程序的准确性,确保程序的准确性, 如果我的程序里有错误的话,那我运行结果可能就有问题,或者说不能完整的运行出这个程序出来啊,所以我们这个一定要把这个程序啊,要在里面运行一下, 就 run 一下,或者 f 五,也可以快速进行一个调试。运行的还有个功能是什么呢?来我举个例子啊,我改个,我改一个啊,我改一个啊,我来改一个,随便改一个啊,把这一改成一个, 把这个灵感的一吧啊,改一下,我现在没有把保存直接是改过之后呢,我来使用这个用行这个按钮啊,乱一下, 你看他会提示我这个原代码必须要先保存才能用行,所以我点击确定,他就帮我自动保存了。啊,你看,所以,所以有个什么好处啊?你用行的时候如果文件没有保存的话,他会提示你保存的。啊,好,这样的文件就好了啊。所以我们为什么提倡 你程序填空好之后啊,先保存或者说呢?然后再运行,必须要运行一次啊。好,今天呢?呃,就聊到这里啊,就是让大家一起了解一下拍摄文件是如何打开的,如何保存的。

今天呢,继续给大家带来一道胎神操作题,是关于猴子吃桃子的问题,这个题目有很多同学呢比较关注的,那我们一起来了解一下。首先呢把题目认真的阅读一下,他说有一只猴子说他第一天呢摘了若干个桃子,当天呢就吃掉了一半, 又多吃了一个,第二天早上又将剩下的桃子呢,又吃掉了一半,还多吃了一个,以后每天早上多吃了前一天剩下的一半,还多一个,到第十天早上想吃的时候,发现只剩下了一个桃子,求第一天一共摘了多少个桃子? 好,我们再结合程序代码,这个代码比较简单,只有四句,四句,四个语句比较简洁。那我们读完代码,读完题目之后啊,那我们要认真分析这个代码,结合题目啊,首先弄明白这里面有哪些变量, 变量之间的关系是什么?变量所代表的含义是什么,所以我们弄来把它搞明白啊。来,首先这个题目这里面发现这个代码里面只有两个变量,一个是 s, 一个是 r, 那 r 我 们一看就知道它属于的是 循环变量,就是来循环获取软件函数里面产生的一个数字列表里面的元素的,是吧?那么 s 表示的什么东西呢?我们可以结合代码,它输出的是一个 print, 这个是输出结果的意思,它把 s 给输出来了,顾名思义,这就是问题的答案, 问题问的就是第一天摘了多少个桃子,所以这个 s 表示的就是第一天,或者说某一天他的桃子数量是多少个,表示桃子数量啊,某一天桃子数量啊,好,这里面注意啊, 桃子的数量有几个数量啊?有三个数量。哪三个数量有当天没有吃之前的桃子的数量,还有 当天吃过了桃子剩下的这个数量啊,还有就是一个什么吃吃了桃子的数量,只有三个桃子数量啊,对吧?那这里面表示的是是一个什么样的一个数量呢? 应该是感觉应该是什么没有吃之前的桃子数量啊?没有吃之前桃子数量,你看根据问题就看出来了吗?第一天摘了多少吗?他摘了就求没有吃之前的吗?对吧?第一天一共摘了,他摘过之后还没吃就求这个桃子数量,所以 s 表示的是没有吃之前的桃子数量, 就当天吧。所以每一天都有这样的关系啊,都有这样的数量关系啊,第一天有,第二天呢?也有啊,第二天还没有吃的时候桃子的数量是多少?吃过之后剩下的桃子数量多少,对吧?有这样的关系啊。好,当然有个什么关系啊,就是我第一天剩下的桃子是第二天什么 没有吃的桃子的数量,是吧?好,那我们来看一下啊,这个问题就好办了。请我们来看一下这个里面怎么办啊?有几个概念,虽然把这个几个量写下来啊。就当天剩下的桃子的数量怎么表示当天吃之前的桃子数量以及吃掉当天吃掉的桃子数量啊?我们用当天吧。 好,这就好办了啊,这就好办了,来,我们可以表出来吧,假如说我们用当天还没有吃这个之前的这个桃子,他就吃了他的桃子的原始的数量是 s, 这正好吧, s 嘛,他就表示当天没有吃的这个桃子数量。好,那么当天没有吃就用 s 表示。那么当天吃掉的桃子数量呢?就可以使用什么?你没有你这个桃子当天的这个桃子数量呢?就可以使用什么?你没有你这个桃子当天的桃子数量呢?加 e 啊,对吧?没有吃的 也没有吃吗?总数那么多,我吃药一半呢,不是零点五四吗?加上一,他是这个就当天吃掉的这个桃子数量。有这样表示啊,这个表示, 那么当天剩下桃子多少啊?就两个一减就可以了。这两个一减就是当天剩下的这个桃子吗?这个是不是当天剩下这个桃子?哎,当天剩下的桃子是不是第二天?什么是不是第二天?应该是第二天了,是不是,应该是, 怎么表达呢?应该是,应该是明天吧,是不是当天的明天吧。明天?什么明天?他没有吃,应该明天吃之前的,吃之前的这个桃子数量,是不是这个意思啊? 好,这句话能不能理解啊?我们看一下其实这个剩下桃子是不是第二天?你可以说第二天嘛,是不是啊?第二天啊,他是不是第二天吃之前的那个还没有吃的时候的桃子数量,是吧?因为 每天每次当天吃剩下桃子都会作为第二天那个那个抽水值嘛,第二天的抽水值嘛,对吧? 就代第二天吃之前的桃子数量,这个可以理解一下啊。好,我们看一下,所以这关系明白了吧?这个第二天吃桃子之前的数量 是不是也可以用 s 表示啊?当然也可以了,为什么他也表示没有吃之前的桃子数量吗?吃之前桃子数量,所以他也可以表示 s 吗?可以吧,这表示前一天的,哎。表示当天的桃子数量,这表示第二天的桃子数量吗?是不是啊?就好办了吗? 好,我们看一下。所以可以这样表示了啊,所以可以表示当天的桃子总数,这个表示吃掉的桃子总数,这个 s 呢?表示剩下的,其意义是什么?也是第二天 这个桃子的总数,第二天的就是没有吃之前的桃总数,要理解这个哈。好,可以转化一下。这个可以合并的,因为这个 s 和这个 s 是 一样的,都属于当天没有吃之前的桃子数量。好,一化简,就变成了这样一个表达式啊,就变成了这个表达式,我用不同的颜色来表示不同的这个它的具体的值啊,这是 这当天的,这个是第二天的,那第二天你可以说当天剩下的,你可以理解啊。好,那我这里面求的是到底是左边的 还是右边的这个 s 呢?因为这两个 s 不 一样,它是汉的,含义是一样的,都是表示的。是,都是表示这个就是 某一天的没有吃之前的桃子的数量,但是这个表示当天的,这个表示第二天的,明白吧?第二天的啊,所以到底是求哪一个呢?我们可以倒着看,倒着看,为什么呢?我们可以倒到第 第一天,你知不知道这个 s 第一天的话,你知不知道?假如这个是第一天,第一天我不知道,就求第一天的,如果 s 可是第一天的话,我不知道,就让我们求这个第一天的,是吧?所以我们可以分成是什么?这肯定是第一天的啊。好,我们到了第十天知不知道呢? 第十天,因为第十天我没有吃,所以我们可以不算第十天的。算哪一天?算第九天?第九天的剩下桃子是不是就是第十天那个那个原始那个桃子?所以第十天桃子就应该是第九天 他剩下的那个桃子,那剩下桃子什么?正好就是他剩就一嘛,所以第九天的那个当天剩下桃子就 s 就是 一啊,就是一就是一啊,那我们这个绿色 s 你 知不知道啊? 就会求出来了嘛?所以我们求的是哪个 s 啊?是右边的绿色 s, 所以 把转化一下,把绿色 s 转化成关于蓝色 s 的 一个表达式啊,把这个转化成这种表达式。所以所以什么?所以 这个表达式就是我们需要就是求的这个计算的关系的一个表达式啊,就他要重复进行的。你看我们来再验证一下这个刚才验证的第九天吗?第九天,我们这里面第九天剩下来的几啊?这一啊,就第十天那个桃子嘛,第九天下来的这边就一啊。好, 那么这个 s 可以 求出来了吧?我们可以求第九天了,对吧?第九天他的当天的那个桃子数量是不是第八天的剩下的桃子数量呢?所以就会提出第八天的那个没有吃之前的那个桃子总数了。 一是可以求出第七天,第六天一直到第一天就被我们求出来了啊,所以我们这里面这个十字是反复进行的,这个十字是反复进行的,那么这个十字写什么呢?就写的是应该是 s 加一加一还画起来,就把刚才的表达式啊写一下,乘以二就可以了。 另外这里面需要重复几次呢?这个二号位填的是重复次数吧?几次呢?让这个表达是用算几次呢?好,我们看一下,其实我们第十天不需要求,因为他没有吃,因为第十天的总数我们也知道了,就是一嘛,对吧?所以我们只需要算出第九天,第八天只要第一天就可以了,所以他需要九次 填九就可以了,它产生的列表就是零到八嘛,产生九个数字嘛,所以可以让这个数字重复运算九次啊,就可以推到第一天了。好,这么 s 是 表示的是一号空填的是什么呢?一号位填的是一个 s 的 出式值,这个我们应该能发现了吧?它是从第几提他数值几啊? 是一,为什么一呢?这里为什么不填零呢?原因就是因为,原因就是我第十天,因为我要算九次嘛,所以我知道第九天的那个谁啊?剩下那个那个结果不是一吗?就第十天那个,剩下的就是第十天的桃子吗?不是一吗?也就是第九天的剩下的那个桃子的这个 这个数量吗?他就一吗?对吧?啊,所以他就是值,就是一啊,就是一,所以我们只需要算九次。啊啊,这个题目大家有没有理解啊?啊?就这样啊。