粉丝5683获赞2.9万

我们今天给大家分享在拍摄当中如何逆需输出,我们讲三个方法,这是相关的步骤操作版本, 我们来看到第一种方法呢,就是使用切片操作,我们可以使用这个操作来逆序输出,拍摄当中列表原组或者字幕串, 就比如说我们在这里定义了个列表,那我们怎样去逆序输出呢?首先我们使用两个冒号,然后负一就可以逆序输出, 刚开始是从一到五,后面就是从五到一,那么同理周串我们也可以用同样的方式,那么就可以得到个逆序数出的结果,从后面一直往前, 然后我们要注意这个方法呢,他不会改变原有的列表呀,原组呀,而是会返回一个新的迭代的序列。然后我们再来看第二种方法,我们可以用 reverse 或者 reverse, 当然这个和前面不一样的,就是说如果我们想想永久的去修改原来的列表原图的话,我们就可以用这个 reverse 方法,就比如说我们先定义的同样这个列表,那么电用这个方法之后, 那么这个更改就是针对这个列表本身的,所以我们打印它本身,呃呃,不是说把这个放进去打,我们直接打印本身,因为本身也已经被改变了,所以就可以这样,那么同理如果说我们不用 reverse, 我们用 reversed, 这个时候我们就需要这样,我们先把这个列表传到这里面去,然后呢再把它,因为 reversed, 它只是返回一个迭代器,那怎样是一个列表的形式呢?所以我们在外面还要将其转为列表,最后呢再打印出来,所以这两种方法呢是等价的, 那很明显这种方法更简洁,对不对?但是有时候呢,我们还是得用这个方法,就比如说我们用 reverse, 我们对支付串进行逆序操作的时候,我们先得到了一个叠带器,然后呢我们再用这个 join 的方法 去把它一个个的转换为自我串,最后也可以逆袭。那如果说我们来看,假设我们定义的自我串对不对?我们直接 reverse, 我们不转化的话,他只是得到一个迭代器,所以这就是为什么我们要在前面加上 join, 最后才可以得到这个主串。 类似的,我们如果说直接对字母串去调用这个 reverse, 就是后面没有加 d 的这个函数,那么呢它会报错,我们可以看到,我们会看到如果直接调用的话,它就报错。同理,我们可以用 start it 来对可叠来对向金牌序,还可以 指定排序规则,就比如说我们按照相反的顺序排序,就可以逆序输出,这呢是相关代码,我们同样的先定义这个列表,然后把这列表传入,设置逆序,就得到结果。是这样的,那么同理,如果是自不串的话,我们同样, 因为这也是返回一个叠带器,我们同样用 join 函数,最后呢也是输出它的结果,所以呢这个呢就是我们给大家分享的三种方法,在 python 当中进行逆序。

现在我们用 pass 上来编程知识来做这样一个练习法序,输出输入 n 个数,要求程序按输入时的例序把这 n 个数打印出来, 椅子整数不超过一百个,也就是说按输入的相反顺序打印这 n 个数。压力输入一空格,二空格,三空格,四空格, 压力输出五四三二一,中间用空格分开。现在我们来看程序,我们用音坡的函数输入一串数, 中间用空格分开。然后我们用四不略的函数按空格加以区分,将它转换为 列表,复制给变量 a。 然后第二行我们用话语句来便利列表,但是我们注意后面这是负一,就是从最后一个元素开始便利。第三行我们打印出各个元素运行,看下效果, 我们输入一二三四五,我们输出五四三二一。

我们一起探讨拍子当中三种逆序输出数字的方法,按照这个摘要进行讲解,这是相关操作版本。 首先我们可以用字符串切片功能逆转字符串,比如说我们在这里呢打开了一个这样的交互接口,我们可以把它代码放在里面,我们熟悉的环境去运行定一个这样的函数。首先呢我们要去对一个 数字来讲,那我们要把它逆转的,我们得把它转为字符串,在转换之前呢,我们先判断正负数,如果说它是个正数的话,我们就可以直接把它转化为字符串,然后呢 直接用这个切片就可以实现将里面的字符数字字符串逆转返回。当然如果说他是个负数的话,那我们就可以在里面添加个符号,让他变成正, 变成正数之后再把它进行逆转,逆转完毕之后,在原来的负数的前面加上一个负号也可以实现,对不对?所以我们具体呢来运行一下,比如说我们输入一个正的整数,从一到八我们可以发现他已经逆转了,那如果说我们输入个负数, 同样的符号在前面也是可以实现数字的逆转的。同理我们看第二个方法便利构造 列表法,我们知道如果说我们对一个数字的字符串从后往前便利的话,是不是也可以实现这样的字字符串逆序? 所以呢我们就可以定一个这样的方法,同样的我们需要对数字大小进行判断,如果说这是个正数的话,那我们前面没有一个负号,那这个时候我们 就可以从后往前扫描,完整的扫描,我们知道末尾的那个元素的序锁引,然后呢这个是最前面的那个元素的锁引,然后我们去进行扫描,扫描之后呢就可以得到一个这样的列表, 从后往前的列表,这个时候呢我们再把这个使用 join 函数把列表转换成个字步串。当然如果说他是一个复号复数的话,复号是最后个元素,所以我们不要让他扫描掉,我们只扫描到倒数第二个元素,扫描完成之后,我们同样的在返回的时候自行的给他添加个复号就可以了。 同样的我们可以来看一下运营效果,我们可以看到输入个正数的时候正确,负数的时候也是正确的,同理我们可以用地规的方法实现字符串逆序,如果我输入了字符串数字的字符串的长度是一的话,一的 的逆序是,那本身是不是?所以就可以直接返回,那如果不是的话,相当于我就可以先获取 我这个支付串里面的最后的一个元素,以及他除了这个元素之外的剩余部分,对不对?那么剩余部分也就是这样取的,相当于除了最后一个元素之外,不要去取就可以取到剩余的元素。对于剩余的元素,我们同样调用这样的 递归函数啊,不断的去递归,这个就可以得到逆袭结果了。同理我们要进行判断,就是说 如果说我们是一个负数,我们假设是负一二三四五,那按照上面这个定位方法,他是不会得到五四三二一负,对吧?他有个负号,那这肯定是不对劲的,所以相当于我们在这里再调用了 判断的方法,我们先用这个地规函数获取到这样的结果,那获取到结果之后,我们自行去判断,如果说我得到的字符串呢?它的最后一位 是负数,说明他本来这负号说明他本来是一个负数,那我们就在他的负数这个串前面添加一个负号再返回,否则是正数的话就直接返回,最后就可以查看结果,比如说我们来给大家看一下这个呢,就是应结果、负数、正数都正确。

无论制,我们可以创建一个逆序的序列,那么他注意啊,他有三个参数,那么我们在创建逆序序列的时候,他的第一个参数是代表他的起始制第二个参数呢是代表我最后一个终点。制这个地方我们写作负一,大家注意负一啊是取不到的,取到的是他的前一个指,也就是零。 因为我们是要创建逆序序列,所以说我们这里我们要设置一个小于零的数,比如说我们是负一,我们运行之后他得到的一个类型是一个序列,所以说我们再使用类似的把它转化成一个列表。哎,大家可以看到这就是我们得到的一个序列是十九八七六五四三一零。

for 循环嵌套用法 这一章节给大家讲一下爆循环的千套用法, 将来名称 i 音润之, 你写个五, 打印输出, 我是外层循环 两外层循环就写好了,我们再写个内层的循环哦 电量安音润 这里切个三 冒号 也答应说出一句话, 我是内层循环, 为了方便大家理解,我们再把树枝给他带入 进去, 我是第几层?内层循环,这里是占位服务 点上放慢, 这里也写上外存循环单位服务 点上哦慢 保存打印 第一句话,我是内存循环第二句,我是内存循环一二, 内层循环完毕以后是外层循环,我是外层循环第一层, 这样我们得出一个结论,内层循环,先运行完内层的三层循环以后,再运行外层循环的一层循环, 接着进行下一轮,还是从内层循环开始。内层循环循环结束以后再进入下一轮的外层循环。 为了便于大家理解,我们做一个小实力。我这里有两个列表,都是简单的数字, 我们先写外层循环,放哎音,首先便利 a 列表, 再写一个内循环。 for n e 列表, 我们做一个判断,衣服判断 i 的纸和 n 的纸是否相等, 如果 a 的值等于 n 的值,说明两个列表里面有重复的值, 如果不想等,那么就没有重复的纸,我们打印书戳 有重复的纸 sure, 嗯,把 a 的纸答应出来,答应 n 的纸也是一样的。 法制奥斯, 我没有打印输出, 没有重复的纸, 保存运行, 这样比对结果,没有重复的纸, 我们把第二张列表写上两个重复的纸 三十四, 这样再进行比对保存运行, 这样就比推出了三和四是重复的值, 通过这个小程序可以 方便快捷的为我们找出两张列表里面相同的纸,谢谢大家观看,再见。

是陶米,今天继续我们的拍摄学习,今天我们讲的内容是接待器,那讲到接待器呢,我可以说啊,这个这这块内容呢,可以说是很难,但是呢也很简单,为什么说难呢?因为我之前看了一些资料, 那这一块的介绍呢,他比较复杂,也过于深奥,看的有点让人蒙头转向。那么接下来呢,我会用一种更加简单的方式来讲解这一块的内容,我相信啊,听完今天的课程,你一定会懂得什么是接待器。那首先啊,这里有三个名词叫可接待对象, 接待契对象以及接待协议,是不是看这三个名词有点蒙圈,但是没有关系,我们啊先用一个例子来给大家做一下讲解,然后呢结合我们的例子来解释这三个名词到底是什么意思,它有哪些作用?首先我们打 开 under konda, 然后呢启动我们的 jupiter notebook, 然后把这个窗户可以给它缩小。 启动完之后我们在这里呢需要创建一个一个文件,我这里啊写一下啊,应该是在我们的桌面,然后我们的拍摄文件这边,在这里呢,我们创建一个新的一个啊,就 beat notebook, 然后重命名一下, 现在应该是十三,十三。然后呢是我们的啊,把这个名字写全一点啊,轻松学 pass。 然后是接待器,今天我们主要讲接待器,那就是那目前,那现在呢,我呢先写一个循环,我这里啊这样写一下 案例,一,写一个复循环,这个复循环呢我们在上一节视频当中也讲过,也是非常简单的。首先呢我这里啊先这样吧,先创建一个列表,比如说一二 三四,我创建了一个列表,对吧?那列表名呢?就是 l, 然后我们通过一个 four 循环来便利它, four x in l, 有没有没有印象?对这个格式,然后我们直接输出我们便利到的这个元素或它的值,然后呢,我们这边有个 end, 这个 end 啊,它主要是让我们的输出呢,放在一行上输出,如果没有 end 呢,我可以给大家稍微做一下演示的代化,然后我们运行一下,你会发现啊,它会通过这个 for 循环之后呢,把这四个元素啊都给它输出来了。那如果说你没有这个 end 呢?比如我这边再重新运行一下,他就是这样输出,就一行输出一个元素,不过呢为了美观啊,我们就让他在一行上进行一个显示,这个就是我们的负循环,对吧?那么这里有一个疑问,那你知道这个负循环他到底是怎么实现的?他的原理又是怎样的呢? 它的内部到底是通过一种怎样的方式实现了这个便利呢?对吧?那么今天我们讲的这个内容就是关于它的原理,这个接待器其他内部呢,就是通过接待器来实现的。在这里呢,我还可以用另一种方式,比如说另一种方式 啊,便利列表,然后输出。怎么做呢?也很简单,在这里啊,我还是啊,这样吧,还是新建一个同样的,创建一个同样的列表,比如一二三四,对吧?没有 问题。然后呢,我这里呢这样写,可能你还不太明白我为什么这么写或他的意义是什么?我这边这个备注呢,我先不写,然后我们看一下效果,然后我们看一下效果在这里啊,我们可以这样 看一下效果是怎样的,会不会感觉很神奇,等一下哦,好,我们运行一下,这是第一个,对吧?我们拷贝一下,这是第二个,哎,你发现了吗?是不是这个数字在输出,在输出来了?一二,我们再来一下 三,对不对?我们这个列表里面的元素是不是在一个一个的被输出来,对吧?这也是一种便利这个列表的一种方式。然后我们再来一下,哎,这个四输出来了,如果啊,我再继续一下,你觉得会出现什么呢?我们这里呢,它有四 元素,一二三四,刚才呢,我呢把这行代码执行了四次,一二三四,对吧?那么如果啊,我在这里执行第五次,你觉得会出现什么呢?会输出什么呢?我们看一下结果, 哎,他会报错,对吧?他报的什么错呢?叫做 stop iteration, 就说停止了一个跌,待停止了一个或者便利, 哎,就这个意思,那我我待会呢会讲为什么他会报错?其实啊,原因也很简单,因为我们这里呢,他就四个元素,对吧? 你还想跌蛋呢?他后面没有了,他后面没有元素了,所以他会报错,也就说我已经给你跌到,就是给你电力,或者给你检查这些元素啊,已经到了末尾了,所以呢,我这边要报一个错,告诉你,哎,我这边就已经结束了,对吧?那么接下来呢?啊,我要结合我们的 ppt 来讲一下今天的核心内容了。 核心内容,呃,然后呢,我是通过我们这个案例来进行讲解,这样理解起来他就比较简单。首先我们先看一下第一个名词,叫做可跌贷对象,那么这里呢是他的一个官方的一个介绍,叫做常见的可以被负循环跌贷的一些数据类型 都是可迭代的对象,比如列表、原组字典、集合、奏串,那么这一一长串读下来呢,确实啊,不是他讲的什么东西,但是呢我在这里呢给大家一看,你就明白了,什么是可迭代对象,其实啊,可迭代对象呢,就是我们的这个列表, 哎,就是我们这个列表,这个列表啊,他就是一个可可跌待对象,那么除了这列表还有什么呢?还有字典对吧?还有我们的集合,还有我们的字符串这些啊,通通所有这些都是一个可跌待对象,就他这面 讲了一长串的话,其实啊,意思就是说我们这个列表他就是一个可迭代对象,因为如果他不可迭代的话,你这边这个负循环他就不可能一个一个的说出这些元素,对吧?所以呢,我们现在我相信啊,你已经能够理解了,可迭代对象就是我们的列表, 那么什么是虐待期对象呢?迭代期对象也很简单,在这里呢我们可以看一下他的官方解释,他说他是一个可以被虐待的对象, 可以便利接待器中所有的值。感觉读完这这几个字啊,我们都认识,但是读完之后呢,也不知道他说的是什么意思,这个接待器对象其实也很简单, 各位朋友啊,看一下这个跌待气对象呢,其实这个就是我们的跌待气对象,我这边做一下备注,跌待气对象,呃,刚才啊,我给各位演示了一下, 我们通过这种方式呢,也可以把这个列表当中的每一个元素给它输出来,对吧?但是呢,第二种方式的时候啊,我这里用了一个方法,叫做 it 方法。为什么要用 it 方法呢? it 方法用了之后啊,你看我把这个列表这个 l 放在里面,用了一个 it 方法进行了一个转换, 也就是说我把我们的列表呢转换成了一个跌待期对象,为什么要这样做呢?因为你只有把它转换成跌待期对象之后,才能够通过这个 next 方法进行便利 介绍我们这个负循环当中他隐藏的秘密,比如说他内部。其实啊就是做了这一步, 用了一个 it 方法,把我们的这个 l 也是这个列表进行了一次转换,变成了一个迭代期对象。现在明白了吧?就这个迭代期对象,其实就是我们的这个 it 方法,把我们的迭代 系放在里面,然后呢进行了一个转换,就创建了一个迭代机迭代系对象,这个 i 我就给他命名了叫 i。 所以呢,现在能够我们我们还是在这个,呃,回顾一下这个列表啊,他就是一个 可跌贷对象,也就第一个。那么我通过这个 eat 方法呢,将这个列表转换成了一个跌贷期对象,或者说创建了一个跌贷期对象。 那么第三个名词是什么呢?叫跌贷协议。什么是跌贷协议呢?看看我们的官方的解释啊,他说所有带有 next 方法的对象会前进到下一个结果, 而当到达一系列结果的末尾时, next 会引发 stop iteration 异常。这种对象在 python 中也被称为接待器,是不是这一串,呃,这一串话读完之后,那,那整个人就感 感觉要崩溃了,对吧?其实呢,呃,其实啊,这个跌贷协议啊,我在这里呢继续解释一下。跌贷协议啊,其实就是我们这个 next 方法 迭代协议,其实这个只要你这个迭代器,因为我们刚才通过 it 方法创建了一个迭代器,就是这个 i, 对吧?我给它呃命名了叫 i, 那么只要我们这个迭代器对象 i 点实现了这个 next 方法,那么也就是说我们呢就实现了这个跌贷协议。什么是跌贷协议呢?也就是说在我们这个跌贷当中啊,必须要实现必须有这个 next 方法,就是你必须有这个 next 方法, 如果没有 next 方法呢?那它就不,首先它不是一个接待器,因为你不符合它的协议,也就它的协议就是要求你必须要有这个 next 方法,所以呢,我们这个接待器啊,你看它有 next 方法,也就说它满 满足这个协议,也就是说他实现了迭代协议, ok, 所以呢,当你实现了这个迭代协议之后,你就可以把他的元素一个一个的给他取出来,你看我这边用了四个,对吧?我就把一二三四全部给他取出来了。 所以呢,这个就是我们对这三个名词的一个比较直观的一个一个理解。因为像有的书籍上把这一块呢,就讲的就是 比较绕,就你理解起来比较费劲,那我们通过这个案例啊,结合起来看呢,我觉得就比较直观,哎,所以呢,如果各位朋友啊,对理解这一块还是有一个嗯,可能不太适应的过程啊,可以把这几个案例啊对焦的看一下,或者说把这个视频啊再看一下,我觉得可能就比较有帮助。 那我们呢再通过另一个案例再来理解一下这个迭代器它的这个原理到底是到底是怎样的?我们这里呢, 我们再再新建一个,再通过另一个案例来实现一下,比如说我这里啊,我再重重新的命名一下,比如说重新编辑一下,比如说我这边写一个叫做手动 接待,手动接待啊,为什么?呃,我们这个负循环呢?你会这个负循环他就比较省事嘛,有 python 提供的这个负循环,他呢就说你直接便利啊,啪,给你说出来, 你也不是,你也不知道它里面的原理到底是什么。那么另一种方式呢?也就是我我刚才写的另一种方式,这种方式我们也就称它为手动迭代,就说你得一个一个 next 去写,把它的每一个元素给它输出,这个就是一种手动的迭代。 然后呢我们看一下另一个例子啊,也就是手动接待在这里呢,我呢呃,用这个呃字典吧,给大家 讲解一下,因为刚才我们讲的是列表,对吧?接下来呢,我们就通过字典来给大家讲解这个接待器它的原理是怎样的,那这里呢,我重新输入一个,比如说像字典,对吧?然后呢我呢 临时的创建一个字典,比如说 a 是多什么? a 就是关键字吗?一就是他的,呃, a 就是这个关键字啊,也就是 a 就是我们的这个键,一呢就是我们的值,那么再来一个键就是 b, 然后值呢是二再来一个键 c 值就是三,对吧?那我可以再来一个键,当然我这边可以给他再来一个键,比如说再来一个键 d, 他的值呢?是四,这个就是我创建的一个字典,对吧?没有问题吧?我们运行一下,没有问题,然后呢我们我们接下来要去便利他,便利这个字典呢?有没有印象我们在上一节视频当 用过负循环去便利一个字典,怎么做的呢?我们这边再给大家重复一下,我们写一下方式一,进行一个便利,直接是 for k, 当然这只是一个变量,你可以随便选,你可以写 k, 你可以写 m, 都可以,不过呢我们一般用这个 k, 也就是它的这个键 有英文啊这个这个名称来进行命名,比如 four key in 什么呢? d, 比如我们字典,然后呢我们直接就输出就可以了,比如我这边 print, 对吧?然后呢 key, 然后这样 有没有印象我们在上一节视频当中也是这么写过,然后呢在这里呢可以这样写,取出他的值,根据他的键取出他的值,首先是 fork, 然后呢因 d, 也就我要读取这个字典了,然后呢直接输出键和他这个键对应的一个值,通过 d 一个方括号来去取他的值, 我们运行一下, run 一下,哎,你发现了吗?这个值是不是全部给输出来的这个字典,对吧?没有问题,那接下来呢,我们再看一下方式二,他是怎么实现的?方式二呢,其实也很简单,我们在上一节视频当中其实也给大家实现过,就这样的 fork 和 way k, 这个 k 呢,就是这个 k 的这个键的一个缩写, v 呢就是 value 的一个缩写,因为我们字典它是键和值的,一个一个,对吗?一个键值,对,对吧?然后这里呢还是这样检索,我在这里检索一定要注意啊,我们要我们不是直接一个 d 了,跟上面一样,而是要加上一个 items, 为什么呢?因为我们里面有四个元素,每个元素都是一个建职队,对吧?这是一个,然后这是第二个,这是第三个,这是第四个,所以呢他都是一个一个的元素,所以你这里必须要加上 items, 不然他会报错的。然后我们这里呢可以 直接上输出 k, 对吧?然后呢一个,然后再继续把这个 v 也给它输出来,接下来呢,我们稍微这样这样运行一下,哎,你会发现这个 a b, c, d, e, a, b, c d 这四个,这个见值度啊,全部给输出来了,那么它的结果呢?跟方式一的输出是一模一样的。 ok, 那接下来呢,我们就是要实现一下这个叫手动跌贷,手动跌贷,也就是说跟上面一模一样,我们要通过这里呢构造一个跌贷期对象,然后实现他的一个跌贷期协议,也就是 next 方法。呃,怎么去做呢?也很简单,跟上面的一模一样,一模一样。然后呢方式三,对吧?在这里啊,我们首先 首先需要教我们的这个接待器啊,呃,接待器呢?呃,首先需要我们将我们的这个字典变成一个接待器,怎么变呢?也很简单,这是 i, 比如说我这边叫 i, 然后呢这个 eater, 用这个 eater 方法,因为它是一个函数嘛,我们需要将我们的字典传递给这个内置函数,这个 eater 它就是我们的一个内置函数, 你也可以说,你也,你也可以说,他是一个内置方法,这个他的作用呢?就是说,呃,创建或说,嗯,创建一个接待器,哎,跟这个上面的一模一样,这里也有一个,你看 是不是我把这个列表也创建成一个接待器了,那这里呢?我把字典变成了一个接待器,没问题吧? ok, 变了,变成接待接待器之呃,之后我们是不是要实现他的一个 next 或者他的协议,也就是我们要实现这个 next 方法。怎么实现呢?我这边先运行一下,没有问题,没有报错, 然后呢通过 i 点,然后一个 next 方法,这样呢就可以获取它里面的原 元素,这样就可以获取它里面的元素。其实这个就是实现了一个迭代协议吗?实现了一个迭代协议,对吧?我们运行一下, run 一下,哎,这个键就被输出来了,对吧?哎,你可能会说他的那个值呢?他这个一二三四那个一呢?哎,你别急嘛, 他这个 next 就是把他这个键给说出来了,那么他的值如果你想获取怎么办呢?也有办法,我马上给各位进行演示,那么我们进行第二个,我们再再运行一下 a, 他把 b 也说出来了,把这个键的 b, 我们再运行一下, 他就把这个 c 给输输出来了。啊,这种方式啊,他可能比较死板,他就是一种手动迭代的方式,我相信啊,没有哪个人希望这样去干,如果我们这个数据啊,有几百万上千万,难道你在这里写几百万上千万的一个代码吗?这完全不现实。我们为什么要经 要讲这个接待器呢,主要是让各位朋友啊,知道我们这个货循环或是我们的外循环里面他这个原理是怎样的,因为你只有知道原理吗?当然以后别人问起你,哎,这个货循环他到底是怎么实现的?他的内部原理,他的他这个构造是怎样的,那么对吧,你就知道这个原理能够讲出来了, 然后呢,我们在这里啊,比如说我想获取这个 d, 对吧?获取这个 d, 然后呢我还想获取到他的这个值,怎么获取呢?这里啊,我呢,比如说我这里啊,比如说用个 v 吧, 我先通过这个 i 点 next 呢,能够获取到我们这个 d 的这个这个键,因为它这个是 c 嘛,那么下一个肯定是 d 了,对吧?我就能够获取到这个键的值,那么获取到之后我该怎么办呢?然后我是不是要把它的值给它取出来?怎么取?我这里啊,直接用一个 print, 比如说我这 边 print v, 我把 v 这个,呃,我看一下啊,这应该是他的键, sorry, 这个应该是 k, 就他的键,然后我先把这个键给他打印出来,然后呢再把这个键对应的值给他打印出来, 好,我们看一下运行一下有没有问题,没有问题,对吧?首先呢通过 i 点 next, 它就把这个 c 下一个的键就立马给它取出来了,同时呢我这里呢通过 d, 然后呢根据它这个键啊,取出了这个 d 对应的值,也就是四,我们可以看一下 d 四没有问题,对吧?这个就是啊,通过手动的方式 来便利我们的这个字典,来便利我们的字典,就说操作起来还是非常简单的。 ok, 那今天呢,今天这个案例啊,我们就讲到这里,主要是啊来讲解,通过我们的案例呢,来给各位朋友啊讲解这个接待器,这个接待器,那 接待器呢?他有三个名词,一定要理解这三个名词,因为这三个名词确实有点有点绕,有点绕啊,就容易绕进去,我们一定要理解一个是可虐待对象, 可接待对象呢,根据我们现在案例,刚才的案例他就是,他就是我们的这个列表,刚才给各位演示的就是这个列表,就是一个可接待的一个对象,那么包括我们的字典,刚才给各位朋友, 对吧?创建这个字典它也是一个可迭代对象,那什么是迭代器对象呢?什么是迭代器对象呢?迭代器对象就是通过我们在进行手动电力的时候,我们要把它转换成一个迭代器,你看通过 eat 方法这个内置函数, 把这个这个列表放在里面,然后进行这种转换,这样呢我们就能够创建一个接待器对象,这样就能够创建一个接待器,接待器对象,包括我们刚才演 是的这个这个字典啊,也把它变成了一个迭代期对象,对吧?这个就是我们的迭代期对象。那什么是迭代协议呢?迭代协议啊,也就是说我们只要实现了这个 next 方法,或说有这个 next 方法,那么 也就说你你这个接待期啊,或者说他就满足了我们的这个协议,你才能够去一个一个的读取,通过 next 方法去读取里面的元素。 ok, 现在呢, 我们今天啊主要主要是这个任务就是要一定要理解这个接待器,他就是我们循环内部的一个原理或者一个运行的机制 啊。 ok, 这个很重要,因为后续后续的课程啊,我们还会讲到一个就是生成器,到时候呢我们也会多也会做一些对比。好了,那今天的课程呢?啊,就先到这里,如果你有任何疑问可以在视频下方留言,那欢迎大家继续学习后面的课程,拜拜。

哈喽,大家好,今天我们来学习一下或循环语句。首先我们来看一下这段代码执行过后,输出的是零一二三四。首先这润剂五函数,它是可以创建一个整数列表的,表示从零开始,然后小于五的一个整数,那么润剂五就表示零一二三四,然后 for 和 in 是关键字变量, i 依次取润剂五范围内的五个数字,然后再用 print 把它打印出来, 输出到控制台,这里注意一下或循环后面有个英文冒号,英文冒号后面执行的语句他都要缩进,往后缩进一个单位,也就是四个空格,这就是他的一个基本格式。好, 接着我们可以来练习一下,如输出零到九的一个整数,其实就将任级里面的这个参数改为十,他是表示如果他只有一个参数,那么他表示默认从零开始,然后小于十的整数,他是不包含十的, 那么这里也就是从零开始,包括零,然后到十结束,但是不包含十的一个整数,所以我们输出来就是零二三四五六七八九这十个数字。接着我们继续,那么如果我们想输出从一开始,那么 就可以直接在 print 里面加上一,结果我们输出的就是从一开始的一个一到五的一个数字。就是比如说着当 i 取零的时候,那么 print 零加一,也就是相当于 print 一,它应出来就是一,所以这样以此类推,我们得到一二三四五。 接着往下看,如果你需要打印一到九的一个基数的话,这里可以基数我们等于偶数加一,偶数就是二的倍数,这里二乘以 i, 然后加上一,比如说当 i 等于零的时候,二乘零等于零,那么再加一,那么输出为一。当 i 等于二的时候,二乘二得四,再加上一, 那就得五了,这样依次类推,最后输出为一三五七九,大家可以再试试其他的,比如说打印偶数之类的。然后我们再看一下这个表的,是这里润剂多了一个参数,也就是润剂三六,那么他的意思就是表示从三开始,然后到小于六的一个整数,但是不包括六,所以我们输出为三四五。这里 练习一下,比如说输出十到十五的一个整数的话,我们就从十,他第一个参数就给为十,第二个参数我们要取到十五,那我们这里就必须是十六,这样的话十五才会取得到,如果是十五的话,那他打印出来就会只到十四,所以说我们这里就用十到十六。 如果要输出十到五十的一个整数的话,这里可以同样可以在 plant 里面进行一个乘法运算,当 i 等于一的时候,十乘一就得十,输出为十。当 i 等于二的时候,十乘以二就等于二十,输出为二十。那么当 i 等于五的时候,五乘以十就等于五十,所以输出五十,这样我们就可以输出十到五十的一个整数。 接着我们可以用复循环语句来绘制三十个同心圆。首先看一下代码,首先导入游戏库,然后定义绘制函数,设置屏幕背景,然后再写复循环,再将绘制函数写入复循环语句里面,那它可以进行一个重复绘制的一个工作。那么来看一下这里呃 r 从一到三十一取数,这里润减一到三十一就表示 从一开始,然后包括一到三十一结束,但是不包括三十一的一个整数,那我们就用小球的半斤就从这些整数里面取值。再看下小球半斤,我们给他乘以一个十,这样的话我们就可以绘制第一个圆圈,他的半斤是十乘一,他的半斤就是十。 当二取二的时候,那么圆圈的半截就是十,乘以二等于二十,这就是第二个圆圈。以此类推,我们就可以绘制出三十个同心圆,以至最后第三十个同心圆,他的半截就是十乘以三十等于三百。问题还可以有第三个参数,他表示不长的意思。我们来看一下这个代码,表示就是从一开始每次增加二,也就是不长为二,且均小于十一的一个整数, 那么我们这里打印出来就是一、三、五、七、九。同样我们可以用这个参数来进行五个同心圆的一个绘制,这里就表示从十开始到五十一结束,然后以十为不长,每次增加十,那么第一个圆圈的半径就是十,第二个圆圈的半径就是在十的基础上加上不长十就等于二十。依次类推,二等于五十的时候,我们就 绘制了一个半斤为五十的一个圆圈。好,接着往下,在这里我们不长不,不仅可以设置为正数,我们还可以设置为负数。 看一下这里的代码,表示从十开始,包括十到一结束,但是不包括一不长为负二,意思是从十每次递减二。这里其实就是当不长为正数的时候,他的取值范围是每次递增的,当不长为负数的时候,他的取值范围每次就是递减的。来看一下,这里利用取值范围递减绘制 五个同心圆。我们这里首先从五十开始到一结束,单独包括一,以负十为不长,那么我们这里绘制圆圈的时候,他的一个顺序就发生了变化,当 r 等于五十的时候,我们绘制了第一个圆圈,接着以负十为不长,第二个圆圈就是五十减十 为四十的一个半斤,这是第二个。当 r 为九的时候,因为不长为十,下一个数就是负一,但是到一就结束了,所以 r 只能取到十,这样最内圈的半斤就为十。我们利用这个负数不长可以绘制黑白圆圈,这里我们从二百五十开始到零结束,然后不长是五十。这里首先绘制一个白色的实心圆, 他的半径是二百五十,然后再绘制第二个圆圈,然后再绘制第二个实心圆,那么他的半径是在二百五十的基础上减去二十五,对到这里就是二十五,那么黑色圆圈的一个半径就是二百二十五,依次往下,我们到最后黑色圆圈,他的一个半径就为二十五,这样就绘制出来黑背圆圈化 啊,它的颜色反过来,那么第一圈首先画黑色,第二圈再画白色,那么最里面的一个实心圆就为白色。好了,这里我们对否认就法进行一个总结。首先认解是 pass 的内置函数,它有三个参数,第一个参数是 stop, 第二个是 stop, 然后还可以有个布长,这是可以设置也可以不用设置的。当它只有一个参数的时候,我们就是默认从零开始,包括 开始,不包括结束,然后不尝不设的话就是默认为零,大家可以下去多练习练习。我们这里来实操一下。 four in rench 五 print, 这里我们打印零到五的一个数字,接着我们来给他设置一个骑士值五,然后 二十结束值,然后一部长二来进行一个输出,我们运行一下看一下。首先五开始,然后到二十,不包括二十到十九为止,然后每两步取一个整数,这样我们就输出了这个。接着我们再运用他来绘制圆圈, 背景设置成白色,然后 for 循环 二百五十开始,然后到零结束,正常为负五十, 颜色用黑色。 接着复制一个改下参数,这里减去二十五,然后颜色改成白色, 执行一下看下效果,这样我们就绘着一个像纹像的一个圆圈图。今天的内容有点多,大家下去一定要多练习练习,拜拜。

啊,大家好,欢迎学习拍摄技术开发培训,那本节课我们主要讲解循环语句当中的一个复循环,那上节课我们讲了忘要循环, 那负循环和 y 循环是一样的,那负循环的话他的形式比较多, 那我们来看一下负循环的那个四种形式,就是看到关键字负啊,哇呀,你也知道他是一个循环语句, 那我们来看一下他的四种形式,也就是四种语法。那第一种就是 for, 然后这边有一个零食变量,那这个零食变量是用来干嘛的呢?就是记录硬软件这个软件里面的数字的,然后他会怎么根据你这个范围来 执行相应的那个循环次数?然后他的特点是什么?论这里面的死大的这个数字是包含的, n 的这个数字是不包含的。 比如说你输的是一个一逗号七,那他是执行几次,那就是一二三四五六,那七是不包含进去的,那就是那六次,那就是七减一, 那这就是什么?破循环的第一种形式,那比如说我们想用第一种形式来实现一个什么叫做五次 helloword 的一个输出。行,那我们来用破循环来操作一下, 先建一个文件 dm 零五, 有一个案例来隐身出这个低盖 number e, 第一种形式 按例输出五个 hello what? 那我们用 for 循环怎么实现呢?通过 for, 然后这边有一个变量, 那这个电量随便写,比如说 x 啊, y 啊,随便写,那就硬,然后锐者,然后比如说这边的话就是一逗号六,那就是一二三四五六 六,不包含的一二三四五,然后我们就可以什么就是循环五次,那循环的次数就根据那个叫做睿智的一个两个数字来决定。 好,那我们来运行测试一下这个程序运行五次,那这时候这个零食变量他是数字是多少呢?那我们可以怎么在这个 hello, 我的这边可以怎么把这个 x 的值打印出来?那这时候我们来看一下结果, 哈喽,我的一,哈喽,我的二,哈喽,我的三,哈喽,我的四,那也就是说这一个变量这 x 变量的值就是论界里面的数据。 好,那我们看一下啊,是第一种形式,那第一种形式的话,我们可以做刚才的那两个外要循环的案例,第一个就是叫做球一 到一百的总和,那求一到一百的总和的话,我们用负循环怎么写呢?那也就说负循环里面的论级的数字应该就是一逗号一零一,因为他按的最后一个值是不包含进去的。 那我们可以什么先把这个叫做 for x 应论者括号一逗号一零一,那这时候这个 x 值就会他妈从一二三四五, 然后他这边有一个好处,什么叫做默认,像 y 循环的话, x 每次要加的一加的一,那负循环的话不需要他默认的 不长为一,那也就是说这个 x 默认会变得一二三四五这样的形式。那现在我们拿到了这个一到一百的 数字,然后要进行累加,那我们可以什么?第一个核变量从零开始,然后不停的把这个 x 指累加进去,那累加的话就是一个什么加等于 x, 那这样的话我们就什么完成了。那个刚才那个案例 叫做总和为冒号百分之一百分号和保存,然后我们运行 总和五零五零,那一样的效果。那这个有个好处的嘛?不需要我们手动的添加补偿,它自动默认就是一到一百。 好,那我们再来看一下那个第二个案例,那第二个案例也是一样的,叫做什么球一到一百的偶数总和。 那我们 y 循环的时候用了两种形式,一种就是设置不长,从二开始,每次加二,那负循环怎么设置不长?我们待会再说。我们先来看一下负里面我们欠套一个耶,来实现我们偶数总和的计算。 那从负 x 印论者括号一,逗号一零一,拿到了一到一百的整数,然后定一个和, 一开始是零,然后累加的时候要累加的是偶数和,那我们可以算一个基数和吧 基数,那基数什么意思呢?就是对二取于有余数,那意思吗?耶夫 x 对二取于不等于零,那说明是基数,那基数的话怎么办呢?我们要累加到 这个河里面,那偶数呢?偶数的话什么 l 四,干嘛不干吧,那就胖死,或者什么就是直接忽略不行,那这样的话我们就可以什么叫做 偶数总和?百分之 d, 也可以百分之 s, 百分号和,然后运行 二五,偶数的话是二五零,二五零零啊,那这就是我们的那个第一种形式。 行,那我们再来看一下那个叫做破循环的第二种形式。那第二种形式什么?就是润肌里面可以设置布场, 就是从哪到哪,然后每次怎么计算?什么意思呢?就是数数, 比如说一二三,那默认不长就是一那一四七,那这个不长就是三,那一三五,这个不长就是二, 那这就是不长的概念,默认不长,他就是一,那就不填的话默认是一,那也就是我们可以什么通过第二种形式来把我们的那个叫做激素总和来实现 第二种形式, 兰博二,第二种形式,那第二种形式什么叫做设置布场,设置布场不是给 range 设置不长,通过 for x in range 括号,那既然是基数的话,就是一到一零一, 然后激素的话你一三五七九,那就是拿,就是一,然后每次加二,那就是二,一加二变成三,三加二变成五,那这样的话我就会拿到激素, 那我们可以什么叫做运行出来看一下,那这就第二种形式,看一下语法啊,就是 for x 印论键,然后这边有个范围,然后冒号,那这是控制流的特点啊,控制流的话每一个都后面都有一个冒号,然后换行写语句, 不能太 x, 运行测试 好没有?保存,保存一下,那一三五七九,那激素拿到手之后,我们就可以通过核定一个零,然后不停的把这个激素的数字累加到这个盒里面。 好,这是技术。 二五零,二五零零啊,那这就是第二种形式。 好,那我们来再看一下那个叫做第三种形式。那第三种形式的话就什么 for, 然后这边有一个变量,然后硬,然后这边有个链接,然后链接里面 只有一个数字,不是两个,也不是三个,而是一个,那我们来看一下这一个代表什么意思啊?我们来再写一下第三种形式。 第三种兴趣,那就是嘛 four x 硬 rain, 然后里面只有一个数字,比如说我填个五,然后 rain 乘中国加油, 那我们来看一下循环的次数是多少?他循环了五次,那也就是说这个锐界里面如果只填一个数字,那这个数字代表的是次数,五代表循环的次数, 那这时候这个 x 的值我们打印出来看一下, 中国零,中国加油,零,中国加油。一,也就是说如果这边填一个值的话,那这时候这个变量的值,变量的值就是从零到 次数减一,那如果填个六,那这个 x 就是零二三四五六,那其实就是什么相当于什么就是零逗号五, 那五是不包含的,那就是零一二三四,那在计算机里面如果是从零开始的话,零可以忽略,不写,那就是直接写个什么,我,那这就是第三种形式。好,那我们来看一下那个叫做第四 四种形式。第四种形式,那第四种形式有点特殊,那第四种形式是用来干嘛呢?叫做便利文本,便利数据的,就是查看每一个数据用的。 看下这个,我们看一下啊,这个负循环可以便利任何序列的项目,如一个列表或一个制服串,那这个东西列表啊,还有序列项目听不懂,我们到后期再讲,我们可以看一下那个制服串, 那看一下第四种形式的语法,就是可以什么叫做查看制服串或者列表里面的每一个元素。比如说这边我们有一个制服串,叫做武汉加油中国,加 哪个逗号,然后我们可以什么通过 four x in range, 这边没不用 range, 直接 in myth 君,那这时候我们先来看一下他打印的次数是多少,比如说我这边打印一个什么叫做 china, 那我们来看一下他循环了几次?一二三四五六七八九九次,那怎么是九次的呢?制服串的长度是多少?那他就循环几次。就是第四种形式,根据文本的长度,制服串 的长度不一定是正常,可以是列表长度来决定循环 的次数。那这时候这个 x 变量的值是多少呢?我们可以打印出来看一下 运行,欠了五,欠了汗,欠了家,欠了油,那也就说这时候这个变量的值不是什么零一二三四五六七八九,而是什么?而是这个制服里面的每一个元素吗?制服穿里面的每一个元素, 那这就是什么?在我们叫计算机里面有一个专业术语叫做便利, 那便利的意思是什么?就是拿到这个数据里面的每一个数据或者元素,那通过 fo x 印麦俊,那这时候 x 就会拿到麦斯俊里面每一个元素。拿到手之后,比如说 后面做统计的话,拿到之后之后我要看一下有多少个大写,多少个汉字,多少个字母啊?那这边的话我们要拿一个判断一个,然后进行统计,那这就是什么第四种形式。

大家好,我们来看一下这一道的编程题目,这道题目的话是要求将数组里面的元素进行例序,然后呢将例序之后将数组里面的元素进行一个输出。 这道题目考察的是对数组的理解,以及对这个数组下边的一个灵活的运用的一个理解,下面的话我就给大家边写代码边进行分析。 这里的话我首先先定一个英特变量 n 代表我这个数组元素的构数,接下来的话我这边通过 c 二成,然后提示用户请输入数组元素的构数, 最后加上一个回车,接下来我们通过信往这个 n 变量当中输入一个整数,接下来呢我们就用整形数组给大家做一个示范,这里我定一个硬词型的数组 number, 然后呢它的数组元素的构数是 n, 然后加一个分号,接下来我通过这个负我循环向这个数组当 当中不断的去输入这个数据,然后我们印成 i 等于零,开始 i 小于 n, 然后是 i 加加,然后在这个循环体当中我们使用 c, 然后是输入到 number i 这个元素当中去,这里的话我们就可以不断的去循环,给我们数组当中的去复职, 接下来的话就是重点,重点就是我们需要将这个数组里面的元素进行一个例序,我们这里要先给大家简单的分析一下,分析完之后我们再来去编写相关的代码,这里我打开这个画板,这里我假设这个数组里面的元素是一二三四五, 我们怎么样将它利序呢?其实就很简单,我们可以将第一个元素和最后一个元素进行对调,对吧?然后呢将这个第二跟四这个元素进行一个对调,然后因为这个三呢?他就是因为是激素的元素吗?他就不需要进行处理,然后这样去对调完之后,他就可以将我们这个速度元素进行了一个利序,对吧?因为我们 这里考虑的是这个激素个元素,我这里再写一个数,总一二三四五六,那这里的话,我要将这个数组的进行一个逆序度啊,他其实也很简单,将第一个元素和最后的元素进行一个交换,然后二跟五进行一个交换,然后三跟四进行一个交换, 他们交换完之后,这个速度里面的元素就是逆需的,对吧?我们主要掌握这样的一个思路,然后下面通过代码来实现这样的一个过程,然后我们接着写代码,因为我们需要去不断的去迭代这个速度里面的元素,所以我们这里还需要再写一个负循环,我们先负,因此 i 等于零, 然后呢他中间继续循环的这个条件我们先不用管了,我们先不写,然后是阿一加加,然后接着我们写这个 for 循环的循环体,那这个循环体当中应该怎么去写呢?我们先给大家分析一下,我们来看一下,这是个数组,数组它是有下边的,这是第零个元素,第一个、第二个、第三个、第四 四个,我们来看一下这个第零号元素跟这个第四号元素进行交换,第一号元素跟这个第三号元素进行一个交换,对吧?我们又没发现他们之间的这个下标加起来这个合适四,对吧?这是固定不变的, 然后这个四呢?跟我们这个数组元素构数也有一定的关系,我们数组元数构数是五,对吧?那这个四就是五减一等于四,哦,不仅是这个例子,你可以取更多的例子,你能找出其中的一个规律,对吧? 那如果说我们现在正在处理的是 d r 一个元素,那 d r 一个元素他跟哪个元素进行交换呢?不管他是跟哪个元素进行交换,他们的两者之和等于四,对吧? 然后的话,那这个元素的这个下标应该是四减去个 i, 对吧?然后这里的这个四是比较特殊的,我们需要将它转换到一般规律,就是应该拿速度的长度减去个一,然后再减去个 i, 对吧?其实就是我们最终要交换的是这两个元素,一个是 i i, 一个是 n 减一减 i, 让这个两个元素进行一个交换,对吧?然后我们接下来去写代码来实现这样的一个过程。这里我们要实现元素的交换,首先我们需要定义一个中间变量,硬扯 temper, 然后呢这个可以复制为我们的 number i, 然后接下来是 number i 这个元素,他等于 number n 减去个一减去个 i 这个元素的值,对吧?这就是我们刚刚分析过的,我们可以将这个两个元素的进行交换嘛?我们将这个元素付给他,对吧?他这个值我们提前给他保存在这里了,对吧?然后接下来我们应该写 number n 减一 减去个 i 的这个元素里面的值,应该复制为我们的 ten 吧,对吧?我们这样的话,通过这三行大码就可以实现 i 元素和 n 减一减, i 这个元素实现了一个交换,对吧?然后我们这个后循环是从 i 等于零开始,然后经过一系列的迭代,它就可以实现这种首尾交, 最后就可以将我们速度当中的元素实现那个利序,对吧?那现在重点来了,他这里的这个循环条件应该怎么写,对吧?这其实也要进行一个简单的分析,我们给大家分析一下,然后得出我们这里应该编写什么样的一个循环条件。我们打开这个画板, 然后我们来看一下上面这个数组他有五个元素,对吧?然后我们来看一下,他要交换一次,两次,他要交换两次,这个两次怎么得到呢?对吧?我们可以这样认为,是拿这个数组的元数构数,然后除以二,他应该等于二点五,对吧?他等于二点五的话,然后我们对着取整,然后就变成二,然后就循环这个两次,对吧? 这里我们是五个元素,你可以去写更多的元素,比如七个元素,九个元素,他一样的可以推导出这样的一个规律,对吧?他循环的次数应该是拿他的这个元素的构数除以二,对吧?然后对他的应应该是个取整,对吧?我们这里简单写一下,那如果说这个元素的构数是偶数个呢?像下面幺三 三四五六,对吧?他要交换一次、两次、三次,那就很简单,那其实就是拿六除以二吗?等于三,他其实就是 n 除以二,对吧?就拿这个速度的元素构数除以二,对吧?那这个的话就很好理解,他要循环的次数就是这么多,那我们看一下我们代码当中应该怎么来实现这样的一个功能, 然后我们这里打开这个代码,我们在这里写这个循环条件,他应该循环的次数应该是 i 小于个 n 除以二,对吧?我们来看一下,其实这样写已经完成了,那如果说你是激素歌的话,比如说你是五个的话,五除以二, 我们刚不说五除以二等于二点五,然后取准应该是二吗?对吧?但是在我们这个代码当中,因为他们都是整形,所以五除以二,他就等于二,对吧?所以他这边是零到 i 小于二吗?对吧?所以他循环的速度就是两次是没有问题的,那如果说我们的速度个数是六六除以二,那等于三,对吧?那他这里的话就是零,然后是哎小于三,那的, 其实循环三次也没有问题,对吧?大家写这样的题目的时候,你可以通过一些具体的实力,然后找出其中的规律,然后再来去编写代码当中的一些逻辑,这样就很容易去编写,对吧?其实我们通过这个复复循环之后,我们就实现了我们刚刚的首尾交互的这样的一个逻辑,对吧? 接下来我们通过这个一个复循环,将我们逆序之后的这个速度元素给打印出来,很简单就复循环,因此 i 等于零, i 小于 n, i 加加, 然后在这个循环体当中我们就非常简单,我们 s alt, 然后是 love i, 然后再输出一个空格,最后我们再加上一个封号,这样我们代码就已经写完了。接下来我们按一下 f 十一对的进行一个编译和运行, 然后这里提示我们输入这个数组元素的构数,我们这里先输入五,然后下面输入这个数组,然后一二三四五按下回声,我们看到没?我们这边上路上面是我们自己输入的, 下面他已经逆序之后给我们输出了,对吧?这里我们测试的是激素购的这个速度,然后我们将这个黑框关了,我们再按一下这个 f 十一,然后我们来测试一下这个偶数够的这个速度,我们按一下六,然后呢我们输出速度元素,一二三四五六按下回车, 然后我们看一下这里的话,他同样的将这个速度与元素逆需给我们速速出来了,对吧?代表我们的这个代码逻辑没有问题,我们再来看一下我们的代码,其实这个代码其实很简单,对吧?我们先去输入这个速度元素,然后接下来去实现这个首尾交互的这个逻辑,最后的话我们再将这个速度元素打印出来, 其实最难的是这一步呢?一个代码的一个编写,大家不要去死记硬背,这样的代码没有任何意义,你上来你可以先举两个例子,对吧?然后通过这个例子去分析出他的规律,然后找到对应的规律,然后再将这样的规律通过我们的代码去实现出来,对吧?这永远没有错,然后我们这个视频就给大家分享这么些内容,我们下一个视频再见。

或循环签到学完之后,我们来看一个经典案例,用或循环打印九九乘法表,其实代码很简单,我们上节课已经基本上把框架写好了,就是这个代码。我们先来看九九乘法表长什么样子, 这是我随便在百度上找的一张图片来看,第一行一一得一,也就是我们只要拿到两个等于一的变量,把他们相乘就可以了。接着看第二行一二得二,这次就要拿到一和二这两个字,二二得四,这里需要两个二。 往下看,我们会发现一个规律,每一行乘号前面的数字都是从一开始的,乘号后面的数字都是一样的,并且每一行依次的一家。 这是不是很像我们上节课讲的负循环欠套,外层循环循环一次,内层循环完整自行一遍。第一次循环的时候,外层循环打印一,然后内层循环打印一到九。第九次外层循环的时候,外层循环打印九, 内存循环打印一到九。好像是有一点思路了,我们来试试改一下这个代码,这一行打印我就直接删掉了。我这里删除一行的快捷键是光标停留在这一行,然后按 l 加 d, 默认是没有这个快捷键的。我现在教你怎么设置快捷键,首先点击左上角 fire, 然后选 k mac, 接着直接在这里搜索删除的单词 delet, 然后会出现一个叫 delete, 这就是删除银行的意思。在这个选项上右键 选择第一个选项,我们可以在这里为删除银行的这个功能添加快捷键,直接按键盘上你想设置的快捷键就行了,注意不要好。其他快捷键冲突了,我个人习惯用 l 加 d, 然后点 ok, 确定,如果你不想要这个快捷键了,也可以在它上面右键做目标就行了。好, 现在这个快捷键我们就设置好了点 ok, 然后这个烹饪题里面我就这样写, f 引号大括号,哎,乘以大括号记 等于,这能看懂吧。前面讲过的格式化这幅串,然后我再加一个大括号,这里面我就写 i 乘以 j, 大括号是做支付串拼接的,这里面就是真正做数学计算的,然后我在后面打银行符号 引号横杠乘以二十,这应该能懂吧。前面讲过的这个用来做一下分割,表示我们外层循环只新了一遍了,来运行看看。现在看好像是有一点感觉了,但是还是有问题。 这个 i 是没有问题的,每次内存循环 i 都是固定不变的,但是这个基因每次就是从一到九,这就不太对了。我们来 来看刚刚的这个图,应该是第一次接到一就结束了,第二次接是一到二,第三次是一到三,第九次是一到九才对,不应该每次都是一到九,也就是这个内存循环的十。这个位置我们不应该写死,应该让他动态变化起来。第一次我们只需要一,这里又是顾头不顾尾,所以第一次外程 这里应该是二,第二次我们需要的是一二,所以第二次外层循环,这里应该是三,以此类推,到第九次外层循环的时候,这里就应该是十。大家发现规律没有,这个位置每次需要的纸都比当次的外层循环拿到的 i 的纸大一,所以这里我们就可以这样写,直接把这个十改成 i 加一,我们再来预信看一下 现在打印出来的内容好像就没有问题了,但是还有一个问题就是这个格式不对,应该是每一次外层循环所打印的内容在同一行外层循环一次完毕之后再换行。要实现这个效果,我们就要重新来了解一下 please 这个功能呢?

前面我们说了或循环能循环多少次,是取决于硬,后面这个类型所包含的值得个数有多少个,他就循环多少次。现在我写一个 fo x in, 然后我写一个列表, 一二三四五,一共五个纸,所以应该是循环五次。那是不是我们后面的子弹呢?就一定要用这个 x 呢?其实是不一定的,如果我们要用破循环来做取值操作,那我们肯定是要在循环体内来使用这个变量的。可是 如果我不想用这个取出来的纸,我就单纯想将一段代码循环执行一定的次数,那你不用这个变量也是可以的。我就在这里随便打印一点内容 来运行看看,结果就是这行代码打赢了五次。有同学可能就会问,这后面都没用这个变量 x, 那这个 x 能不能不写呢?这个变量名是固定必须写的,这是标准语法,当然这个变量名你随便写都可以,你用 abcd、 xyz 都行, 但是大多数情况下大家都喜欢用 i, 我这里就不改了,还是用 x。 但是我们的循环体代码不一定就非得用这个变量。现在我们知道了,复循环除了可以用来循环曲子做便利之外,还可以将一段代码循环执行固定的次数。 但是现在有一个问题,如果我要用破循环,循环五次就还好,可以像刚刚一样写一个有五个字的列表或者字典,再或者有五个字母的这幅串,是不是就可以循环五次了? 也不算太麻烦,但是我现在有一个需求,你用破循环给我循环打印五十遍。张大仙,难道你要写一个有五十个字的内表出来吗?这时候拍神就给我们提供了一个功能,叫润景加括号,他可以用来控制 fo 循环的循环次数。前面我们学到普润题加括号是调用一个功能, 音铺的加括号也是调用一个功能,还有印的加括号 id 加括号,这些都是调用一个功能。现在我们又学了润 加括号也表示掉用一个功能,这个功能就可以帮我们造出任意多个字出来,你想造五十个字,一百个字,一万个字都可以,就不用自己再傻乎乎的写包含五十个字的列表了。现在来看这个润集怎么用。这个润集在拍摄二和拍摄三中还不一样,我们先打开拍摄二的交付式环境来看一下, 直接写润检,然后括号里会写个十,这就相当于从零开始到十结束,生成中间的整数,顾头不顾尾。顾头不顾尾的意思就是零要,但是十不要,也就是生成零到九,这十个整数撬回车,然后就产生了一个列表, 列表里包含十个字,从零开始到九结束。当然你想从一开始也是可以的,你就在润集的括号里写一逗号九,顾头不顾尾嘛,也就会产生一到八这八个整数。然后我们还可以指定不长,也就是每步走多远。润集括号一,逗号九, 九就是从零开始到八结束,然后再写一个逗号一,也就是每步走一。比如我从一开始的步场为一,也就是下个值,在当前值上加步场一,得到的也就是当前值为一,下个值就为二,这和刚刚是一样的,因为不指定步场,默认的步场就是一,现在我把步场改成二, 这样的话开始指为一,不长为二,第二个指就是一,加上二,第二个指就是三,然后第三个指就是三,加上二,结果就是五,然后是七,接着是九。但是由于顾头不顾尾,是不包含九的,到八就结束了,所以九拿不到,结果就是一三五七。

c 语言数字逆序讲解,刚入行的同学一定要收藏好!第四行定义一个整形变量,哎,复制为一千两百三十四,接下来就是将幺二三四变成四千三百二十一。第五行定义一个 number, 整形变量 初始值复值为零。接下来我们需要用到循环第六行写一个 y, 循环 y 里面条件为什么写不等于零?先看第八行 循环里面这句话做的操作。 a 每次循环都会除十,相当于将结尾的数字去掉。如果现在 a 等于一, 再去执行第八行这句话,那么下一次循环微就是零了。有人会问,一除十不应该等于零点一吗?不是零啊, a 是整形变量,小数部分 会被舍去。接着我们来看第七行代码 number 初始值是等于零的,零乘十还是零零,再加上 a 除十取余数,这里百分号表示先除后面的数字十,然后就取余数。比如一二三四除十等于一百二十三,余数就是结尾的四了。 第一次循环结束后, number 就是等于四。同理,第二次进入循环,执行第七行代码就是四乘十加三,第三次进入就是四十三乘十加二, 一,次次就是四百三十二乘十加一。那这样四三二幺就是我们想要的逆序数字了。第十行输出一下 number 的值就好了。好了,今天你又比昨天进步一点,别忘记点个关注。

哈喽,大家好,我是王小皮,今天我们来讲 passen 入门的第六届 fur 循环。首先我们再来复习一下循环语句的执行流程,在开始之后会进入判断,成立时则会一直循环执行,直到不符合条件时退出。今天要讲的 fur 循环和上节课的 vivo 循环有所不同, 我们对比来看,左边是上节课学习的 vo 循环,每轮循环都先进行判断,成立则进入循环,不成立则退出循环。而在负循环中是将后面集合中的元素依次复制给爱进行循环,集合中有几个元素就循环几次。 我们快速进入到实际代码中,给大家解释富尔循环的用法,这里我们写下富尔循环代码,富尔爱音 rang 五。刚刚我 我们有讲到,在后面这里会写入一个集合,这个乱置五呢,就代表一个集合,他是一个左臂右开的集合,左边是零,右边是五,也就是说他代表零一二三四这四个数字。我们继续写刚刚的代码, 我们每次从睿智五代表的集合中按顺序取一个数负值给爱,那我们把爱的值打印出来。 好,我们运行这个脚本,这里就看到了打印出了零一二三四这五个数字。我们今天学习了 fu 循环,并对比了和 wil 循环的区别,你学会了吗?我是王小皮,期待我们下期再会,皮卡皮皮卡丘。