本视频耗时六个月,共三十八小时,三十分钟零基础自学 python, 从 python 入门到精通全套视频教学,包含环境搭建、代码实操、爬虫开发等,全套共三百集。我 会把 python 学习资料、实战教学视频、电子书等等都整理好,放在主页公开群里,有需要的一步获取。好,下面就开始吧,继续来看第六道练习题, 球囊牌中相关系数。那么我们先来看一下相关系数这个概念好不好?相关系数这个概念, 相关系数呢,是最早是个统计学家卡尔皮尔逊设计的这么一个统计指标,它是研究变量之间限行相关程度的量。大家注意啊,是限行相关程度的一个量,一般用字母 r 来表示。 由于啊,研究对象的不同,相关系数有多种定义方式,较为常用的是片区相关系数,总而言之,相关系数是研究变量之间限行相关程度的量。哎,限行相关程度这个大家怎么理解呢? 大家可以回想一下,如果你之前在大学里面学完高数之后学线形代数,一定会学过这个线形相关性对不对?那么你如果没有学过的话,也不要紧,我我给你举一个例子,你就比较容易一下就能理解这个线形相关系数。好吧, 我们还是像往常一样,我们导入 number n p, 我 们呢,创建一个数组,创建个数组,这时候我们手动创建,我们不再去随机创建数组了,我们创建一个二倍的 第一个元素是一,第二元素是二,然后呢?再有一个是一个是二,一个是三点八,在我们创建这么一个二乘二的这么一个二位数族,好吧, 然后呢,我们看一下,哎,这个数族里面,我们想看一下,第一列是一二这两个元素吧,第二列是二三点八这两个元素吧, 对不对?然后我们想要看一下这两列它的线形相关系数是多少?我们在纳克中是用这个 这个方法来求得它们的线形相关系数相关系数, 第一列是冒号、逗号一零吧,第一列,第二列呢是冒号,逗号一吧,这是第二列,然后我们回车直行看一下,哎,大家注意观察 这个线形相关系数啊,返回的有一共有这么二乘二的一个 数组,对不对?这个代表啥意思啊?这个代表第一列和第一列,那他本身和他本身一定是线形相关的,然后第一就是二和三点八这一列,二和三点八这一列,他的线形相关系数也是一吧,这个他本身和他本身一定是线形相关的呀,对不对?那么这个呢? 这个是这一点和这一点的线线相关系数是一点零,大家可以看一下他们是不是高度线线相关,大概就是系数是一点九几吧,这个乘一点九是不是等于接近等于二?这个乘一点九是不是正好等于三十八?那么这个值呢?是这一点和它的线线相关系数, 哎,也是接近于一八,对不对?那么如果我们不想让它线线相关系数这么强烈, 他的线形相关系数等于一啊,就说明这两列已经高度线形相关了,高度线形相关,也就是说他们俩这个相关系数非常大, 那么如果我想让他相形相关系数降下来,那么我们可以再重新造一个两列相线形相关系数比较小的这么一个,比如说我们去把这个三点八改成几啊?改成零点二, 我们求一下这个二位数他的相关系数是等于多少?好吧?然后我们回来执行一下,看一下来,大家可以看了 这个现金相关系数一下给降到负一了,降到负一来记了,这就说明他们俩的这个现金相关系数就比较小,就是没有那么强的现金相关性, 对不对?没有那么强的这个现有相关性。然后我们在随机的,大家知道了这个原理之后啊,我们再随机的去造一个速度,大家就比较好理解了。 一十第二他说是一个,比如说我们想生成一个四五四行五列这么一个二位数组,然后我们想求 这个数字中随便一列,我们第二列 x 等于二的这一列和 x 等于四的这一列,好不好?然后我们看一下,哎,它的相关系数是几啊?是零点三三,零点三三,就是说它们这个正向相关性是比较微弱的,对不对?我们还可以再看一下 第一列和第四列,哎,大家可以看它们的向量相关性。是是是,有一种什么呀?有一种负向的 相与相关性吗?要是负数对不对?也就是说负数的相与相关性是是什么意思啊?你就说第一列如果他的值我给他都给他变大了一点之后, in that 等于四的这一点,他的输入就会往下走吧,往下降,我预测的就往下降,这才是一种负向的相关性嘛,对不对?来,希望通过这段练习题,大家能够进一步的来掌握这个相关系数这个统计指标,好吧, 下面我们来介绍十九点七写,也是第七个练习题,是找能排中的缺失值。 在数据分析当中,不管是数值分析还是数据分析中,我们都会遇到这种缺失值,那么如何处理缺失值,直接会关系到我们的程序的稳健性,对吧?往往是在 进入这个算法也好啊,是数据正常的逻辑之前啊,都要做一些趋实值的相关处理,对不对?那么在 python 中我们知道趋实值,比如说这个空值是用 n 来表示,对不对?那么在算法当中是用 n 派点 n i n i 这个数 它是代表是 not a number 就是 它不是一个数,就是代表是一个,全是指空指,那么我们先看一下这个数字,这个数字,这个数字很明显,它,它有什么呀? 它有几个确实值吧,有三个确实值吧,那么我们如何来定位出这三个数?这三个确实指它的缩影, 哎,我们该如何确定它缩影呢?我们先用 number 中的 is n n 这个方法,用 is n n 这个方法, 我们判断一下,到瑞这个里面,我们看一下它返回什么,哎,可以看到,但是返回掩码是 false 而出的,知不可以看到这个位置对应的是出吧,这个位置也对应的出吧,这个位置也是对应的出吧,哎,可以 又想到是有三个,有三个处,对吧?有三个是 n n 的 值,那么我们如何来返回他所在的位置呢?如何来返回他所在的位置呢?我们可以使用 where 这个方法, where 这个方法就是使用条件,如果后面的两个参数我们不给出来的话,它就直接使用 y 码,然后来返回啊,等于处的位置缩写位置就是 二四五。哎,我们通过 where 和 is n 啊,我们能够定位出在数值当中啊,哪个位置 出现了控制,出现了控制,哎,这个大家要知道,要知道要掌握这个方法,在后面你的做项目一定会用到它,好吧,这是第十九页七页第七的练习题,找到那部分的缺失值的一个 实现。那么接下来我们再来看十九点八节第八道南派联系体是缺时值,末然填充为零。哎,这个联系体啊,就是非常有用了, 因为我们出现了缺时值之后,我们不仅仅要知道他在什么位置出现了缺时值,同时我们还要知道 如何把默认的缺失值给它,把它缺失值填充一个默认值,比如说填充为零。哎,这个在纳盘中应该如何来实现呢?应该如何来实现呢?哎, 上一节中我们介绍了我们是使用纳盘 is n n n 这个方法来看它在哪些位置出现了缺失值,对不对?比如说我们先执行一下这个数字啊,先执行一下这个数字, 我来看一下,哎,可以看到这个它返回的这个是不是掩码,这个数值跟 原来的这个数值的 shift 是 一样的,对不对?然后呢,我们还可以使用 where 来判断出它在哪些位置出现了缺失值,对不对?在哪些位置出现了缺失值,大家可以看这什么位置,是在第一个维度中的零 零一吧和第二个维度零一就是这个吧,还有啊,一二一二对不对?还有三二以及四二这四个位置啊,他都有确实值,他都是确实值,对不对? 那么知道这个之后啊,我们如何将默认值填充为零呢?哎,实际上并不难做,大家注意看一行代码就搞定,你看啊, number is n, n, 然后而瑞他是不是返回这么一个, 哦,这个我再给大家看一下, number is n, n, 对 不对?然后 而瑞他是不是返回这个掩码数字啊,对不对?有了这个掩码数字之后,我们而瑞然后一个掩码,这个数值,哎, 定位到的就是处的那些元素,我们给他填充为零点零,好吧,然后我们再回车看一下,哎,大家注意看是不是?是不是这些位置都给填充成零了, 对不对?填成零了,哎,你看这个就是使用了这一行代码,你看纳派非常非常方便吧,就是说 我们这个地方,这个耶玛,这个 sheep, 只要是跟额瑞 sheep 是 相等的,我们就可以用这种耶玛数值,然后把它为处的地方都给它复制成零。 就是把验证码数字当中对应的位置啊,它是满足处的,我们通过这种方式啊,都可以给它复制,你非常方便,对不对?大家你看,大家注意体会体会,这个是不是非常方便? 对,如果是我们想把这个数组中为乱的这个地方,我们给它复制成, 对不对?把它复制成零了,对不对?那么如果我们想把 把这个数组里面,大家注意啊,我们看一下,除了有 is 以外,还有一个方法,什么呀? 对不对?我们如果是想着把不为空的那些值给它统一复制成一个值,哎,我们是不是就可以这么来做, 在前面加一个不让线就代表取反对不对?取完反之后呢?我们把不为空的地方,我们给它统一赋成零,这个也可以吧?哎,大家注意看一下,是不是 不为空的元素位置,都统一提换成了一点零,都统一成提换成了一点零, 对不对?好,这是 is null 和不是 we null 的 这个位置,我们统一的做了一个元素的赋值吧,对不对?统一的做了一个元素的赋值,这一点这一小节大家要掌握,是在日常工作中是比较常用的。 第九道安排练习题是返回啊,没有缺失值的行,哎,这个 大家想一想应该怎么实现?哎,我以这下面一个数组,纳派的数组,大家可以看到它里面有一些 空的值吧,确实值吧,对不对?就是纳派点 n, n 就是 乱值,那么我想着只返回这个行,他都没有任何缺失值 的,这种行就是这一行我要返回,另外这一行我也要返回吧,对不对?这一行也没有缺失值,其他的行它都有缺失值,我不返回。那么这套练习题大家想一想应该怎么实现? 是不是我们依然要使用 number is n n 这个方法,然后我们判断一下它? 这时候大家注意了,我如果再这样写的话,他是返回着整体这么一个,这么一个什么呀?验码输入,那么我如果想要按照轴来统计一下他的,哎,大家注意, 我返回了这个数组之后,这个 y 码数组之后,对不对?那个我有了这个数组怎么样?我可以对这个数组进行统计了吧, 我统计一下它这个数组当中,按照这个是 x, x 等于一吧,这个一,这个轴它的元素 如果等于 false, 大家是不是知道 false 是 不是就是零啊?是不是? false 是 不是就是零?处是不是一啊?哎,它这个按照这种轴轴一在统计它的值,如果等于一的话, 如果它的值,它的核加起来等于零的话,那是不是说明它没有一个值是处?你比如说这没有一个值是不是处, 对不对?然后呢?我就返回满足这种条件就行了,好不好?这个怎么实现?求和吧,然后我看一下这个样吧,然后 x 等于一来说,大家注意看一下,只有 也就是这行他的和零,还有最后一行他的和也是等于零吧,哎,我只需要返回这种行就行了吧, 对不对?然后就比较一下他是不是等于零呗,对不对?这时候我又拿到一个 y 码,这个时候这个是 x, x 等于一这个维度,那我有了这个 y 码, 我怎么用它?我就可以用 er, 然后用 mask 的 二吧,然后这个我可以这么写吧,对不对?这这个代表是 x, s 等于零,这个是代表这个 mask, 也就是这个 这个行的所有都包括,然后列,我只需,我只,我只需满足条件,等于除的,然后我们返回看一下,我们返回看一下 啊,这个地方写错了,应该是占, 对不对?因为这个 mark 字母啊,咱们是刚才是统计按 x 等于一,就是按照行,行的话,它是不是对应着这个维度啊?对不对?你看它是不是就把这两个值给提取出来了?把这两行给提取出来了,对不对?就把这个没有任何空值的这两行给提取出来了。 好,那么咱们总结一下,咱们总结一下这个应该怎么求,就实际上就是如果说咱们 y 码给它弄成这 m sum, 然后 is n n, 然后尾这个数值咱们沿着 x s 等于一这个维度来统轴一进行统计,如果等于零的, 哎,我们就判断乘等于处,然后 a m a m 就是 我们返回的条件,对不对?实际上就是这两行代码呗,也可以把它写写成一行, 但是为了方便的话,我把它拆成两行,这样帮助大家来理解我们如何返回啊,缺失值,没有缺失值的行,那么我如果要返回有缺失值的行,应该怎么做? 这个就不难了吧,对不对?那他等于零是没有缺失值,那大于零不就说明他至少有一个缺失值吧,对不对? 不就把这些有缺失值的行给返回回来吗?哎,这是有缺失值的行返回的。好吧,这是这道思考题十一点九节返回啊,没有缺失值的行,同时也就知道了如何返回啊,有缺失值的行,对不对?这这是这道思考题 第十道练习题,计算 softmax 的 得分值。 softmax 这个得分值啊,常用在记忆学习、深度学习中,求分类的时候每一类的一个得分。 这个其实 softmax 也没有多难,它基本上是等于下面这两个公式啊,大家看的这公式啊,也不要怕 他。是啊,有这么我把它拆成了这么两个式子。第一个等式啊,他的变量自变量是 a, 也就是说我们的数组,然后呢,这个数组减去他的数组中的最大值,有这个值啊,他讲完之后是不是是一个小于零的值啊?一定是一个小于零的值, 那么 e 的 一个小于零的值,大家也都知道,这个指数函数在小为零的时候, x 自变量小微零的时候,它的它的值,它的 y 值是不是一定小于一的,对不对?所以说这个 y 值求出来,它的取值范围是不是有点零到一了?哎,通过这一个式子,我们就做了一个归一吧,对不对?把这个 a 中的每一个数做了归一, 做完了归一之后,这个代表啥意思啊?这就是它的得分和分母,是我们上一步中求得的这个和,对不对? 然后这个 e 就是 其中的某一个元素,某一个元素,某一个元素除以总的和,是不是就是他每一部分他占的比例啊?是不是?也就是说最终啊,我们求的哨克麦的这个 y 值,他的加和一定是零一的, 对不对?我们先举啊,我下面,我在 number 中,我给大家来一步步实现一下,帮助大家来理解。先举一个小的例子来帮助大家理解,然后我们再举一个稍微复杂一点的这么一个数值,来求一下它的等分子,好吧, 我们还是像往常一样,我们先导入 number, 然后 number 啊,我们自己创建一个数组,这个数组呢,有三个数,一个数是三,一个数啊,是二, 对不对?一个数是四,好吧,这是四个数的一个速度,然后我们是而累,然后而累,然后返回一下它的这个列表,里面有四个元素,是不是分别是一三二四,对不对?一三二四。 那么根据上面的我们的这个定义,我们先敬一下这个 soft max 这个函数,好吧, 小数乘小数数是 a, 然后第一个式子就是 e a, e a 是 等于什么呀?纳牌中指数是 exp 吧? exp, 然后它的次密是多少?次密是 a 减去, 然后纳牌中这个 a 的 最大值,对不对?这是 e a, 有 了 e a 之后,我们实际上就可以反为了里特,里特这个值就是 e a, 除以什么呀?除以纳牌中 这个 e a, 它的和吧?哎,这个就是啊, solve 的 max 函数,后面我们用一下求这个 a 类 a 类,把这个类数值传进来,我们看一下它,它这个得分,大家先看一下它得分加起来是不是等于一,我们对这个结果 s f, 这个 s f 这个结果,我们先求个和看一下,哎,算,我们先求个和看一下,对吧?他的这个和是一定是等于一,一点零,对,然后我们再注意观察一下, 当这个值是等于一的时候,他的得分转化成了是零点零三二等于三呢,是零点二三 等于二呢?是等于零点零八七,等于四的时候,它的得分最高是得到了零点六分,得到了零点六四分,对不对?大家注意看。也就说在原来的这个我们输入的这 a 数组里面,它的元素的值越大,它在 这个最后得分的时候,它也就越大了,它越小,得分越小。这个这个是因为什么呀?这是因为 solve max 是 一个单调递增函数吧,单调递增函数,所以说 它数值中这个数越小得分越小,数越大,得分越大,数越大得分越大,然后并且是做了这种皈依,皈依啊,然后它这种就比较直观,我们一看就知道,零点六分,对吧? 零点三分,零点零三分,对不对?零点二分,对吧?我们比较清晰,对不对?这是 softmax 值,它还求了一个这个, 呃,一维的一个数值,一维的这么一个数值,那么我们如果想求它在某一列当中,我们也可以把这个列提出来,但这个时候它不就变成了这个 eric 这个一维这个数值了吗?然后我们就可以求某一列它 每一个元素它得分了吧?对不对? softmax 一定是对每一列来求它一个得分的,对不对?所以说这个是一个, 呃,就是这个 softmax 这个函数它的公式以及它使用把原来的数值域来转化成一个得分的这么一个情况,哎,这么一个情况, 好吧?大家再细细的理解一下,然后该动手去实现一下,好吧?嗯。
粉丝1221获赞5836

嘿嘿,你好,不知你是否还记得上个视频的结尾,我们故意埋了一个小 bug, 当玩家不慎掉入地面与地面之间的间隙,记忆中熟悉的勾带画面并没有出现。 应广大粉丝要求,其他环节开发可以暂缓这个视频。说啥也要把这个勾带效果先做出来回忆一下,跟着视频一路抄下来,你是否还记得当年 player 文件 set up states 方法里的那个 dad 的 属性? 生与死?这个视频的一切都将围绕着这个简简单单的布尔值展开。首先,我们要在 set up timers 里多加一个计时器,专门为了之后帮助马里奥记录他的死亡时间。 然后新写一个马里奥的勾带方法,并且约定当这个方法被触发,马里奥立刻玩完,换上第六号针造型,记下当下的时间,开始进入抬棺状态。 抬关状态做什么呢?我们顺手把一直没有用的坤坤打球方法改成抬关方法,内容是更你的坐标。 你也许会问,不是一项只更新速度,让 level 文件自己更新位置吗?好问题,一切设计模式在偷懒面前都显得毫无意义。 开个玩笑,其实这么做呢,正好也是方便了避开死亡状态下本来可能会触发到的碰撞检测。没理解?没关系,我来更改一下 level 里的 update 的 方法,你再品一下。 在这个代码里,你会看到我们提取了公共的代码,然后对死亡和游戏两种不同的状态做了分支处理。 无论是否死亡,玩家的更新方法都会被调用。接着,如果是死亡的话,需要计算一下时间,如果已经死了三秒以上,那么结束当前的游戏阶段,否则之前该咋样就咋样。只不过呢,这里多加了一个时时刻刻检查马里奥是否勾带的方法。 这个方法的内容也极其的简单,判断马里奥是否掉到屏幕外了。如果是使用刚才写好的勾带方法,这个方法会让马里奥立刻死亡。那么好,我们代码大致都改好了,让我们来运行一下。 果然童年的恶梦又出现了。但是两秒以后,程序挂了,原因是我们把阶段的状态改为 finished, 等于 true, 该阶段完成。 那由于 level 文件里指的下一个阶段是 non, 程序并不知道下一步该进入什么样的阶段,所以就挂了。那正确的做法应该是给马里奥设计一个生命数,然后呢,此刻扣减他的生命数,如果他还有命,那么重新开始这个关卡,否则显示游戏结束。回到主菜单。 不过暂时,为了让大家理解整个游戏的机制,我们可以暂时假定马里奥就一条命,如果死了,干净利落地进入 game over 界面。 game over 作为一个新的状态,我们可以新写一个文件,但这样做的意义不大,因为 game over 和 load screen 载入界面大致相同,除了屏幕中心的字样有区别, 那么我们就可以写一个 game over 类来继承 load screen 类。这个类的。下一个阶段呢,为回到主菜单使用的信息界面为 game over。 那 得益于之前良好的设计,这次的变动就非常方便,把 game over 要用的文字补上就可以了 啊。对了,让我们在这两个类的构造方法里多添加一个属性,叫阶段的 duration, 持续时间是两秒,游戏结束的界面差不多是四秒搞定。 那别急着运行啊,别忘了 main 函数里记得把新写好的阶段实体化出来,加到字典里,这样才算真的完成。另外,如果屏幕前有处女座的观众,我为你增加了一行福利代码,进入 tools 方法里,多加一个 quit 方法,它能让你在关闭游戏的时候舒服不少。 至此,一切都完成了,我们可以来测试一下。马里奥,人狠话不多,咱直接冲着悬崖去 music music。

日常做数据对比、人员名单核对、商品数据整合,经常需要计算两组数据的交集、并集和差集。借助集合的云升运算能力,只要一行代码就能完成对应逻辑,再转回列表,方便后续处理。 交集用来提取双方共有数据并集整合全部数据。差级筛选、单方独有内容数据台账核对、批量数据比对、业务数据汇总都能直接使用,是数据分析的基础必备写法。 点赞、收藏加关注,不然刷着刷着就没了。

同学们好,今天我们学习用辗转相处且有两个数的最大公约数。在考试时如果拿到这个题目,率先看一下有几个空,需要我们填一个,两个、三个,然后再思考一个问题,是他想要考察我们什么知识点, 我们从整个代码中我们可以看到他考察的一个是函数,还有一个是输入和输出。 在我们看到函数的时候,养成一个习惯是将整个函数体和其他的代码进行分割,这样更方便我们看到函数的开始和结束的地方。 然后 tf 是 定义函数,函数名为 gcd, 并且函数的参数一个是 m, 一个是 n。 好, 我们看到这后面是相应的提示,第一个空,计算 m, 整除 n 的 余数。在之前的几节课中,我们讲到整除和取余的时候,取余就有两个符号 是不用百分号,所以我们这个地方可以直接写 m。 整除 n 之后的余数给的是 r, 也就是 m 去 n 并负值给 r。 然后第二空是 y 有 循环, y 有 循环,后面跟的是循环条件,条件是余数不为零时重复执行。 余数是哪个变量,是不是尔,所以我们这个地方可以写尔作为零就是不等于零, 不等于零的时候循环一直重复第二个孔,我们再看第三个孔, a 是 输入的第一个值, b 是 输入的第二个值,然后得出最大公约数。 谁来求最大公约数的是不是?这个函数的主要目的是求最大公约数,所以我们肯定要调用这个函数,调用这个函数的时候一定会调用这个函数的名字,函数名为 g、 c、 d。 而后面的两个参数对应的是 a, 第一个值 n 代表的是 第二个值 b, 所以 也就是在这边 a 代表的参数 m, b 代表的是参数 n, 而且我们要用调用到函数名字这个地方就可以直接写函数名 就可以了。人家后面有两个参数,你也要写两个参数,好变形, 第一个值,第二个值是六,对的公式是三。

小伙伴们大家好,这节课呢,我们来说第六十六题,看一下题目啊,他说小莫呢,最近参加了一个比赛,他的比赛得分啊,是由多个评委共同决定的,来看下描述, 共有 n 个评委,对小莫的表现进行评分,把所有评委的评分去掉一个最大值和多个最小值呢,也只去掉一个,剩余评分的平均值呢,就是小莫的得分了, 如果得分不是整数,则向上取整,请告诉小,请告诉你小莫,呃,他得了多少分,哎,这个也是数学当中评分比较常见的一种评分方式,就是去掉一个最高分,去掉一个最低分,他的得分是多少,对吧?从数学角度来说,这样的话是具有公平性的啊。那我们来看一下 要求的输入格式,输入呢,共输入 n 加一行,第一行输入一个正整数,表示 n, 那 这个 n 是 什么? n 是 评委的个数,比如说如果有五个评委,去掉一个最高分,再去掉一个最低分,中间还有三个评委,那就得到一个三个评委的平均分,这样就是它的最终得分了,对吧? 接下来的一行 n 呢,每输入一行都是一个正整数啊,就是每个评委所输入的评分,是不是如此啊?那输出格式呢?输出一个整数,表示小莫最终的得分是多少?那这道题呢,我们如何来实现呢?回到开发者公式当中啊,这个其实比较简单,因为涉及到数学了,我们把慢词给导入进来啊, 定一个函数吧,就是主函数,那返回值的话,咱们来一个空。好,那首先呢,我们应该通过 input 来获取用户的输入,我们将它给去掉空格,然后转换成一个 int 类型, 然后接收的是 n, 这个 n 呢,就是首先要获取有多少个评委,对不对?有可能会出现异常,我们串一下啊,然后出现异常的话,我们要补货一下 accept, 嗯,来一个 exception 吧。然后呢,我们如果出现异常直接 retter 了,就不去处理它了。然后我们再定一个呃 分数的列表,这个分数列表呢就是用来呃,哎,这个 s c o r, 对 吧?啊? e s, 这个分数列表呢,就是来存储我们最终得分的,然后我们对这个分数呢要进行一个便利, 来把 n 扔进去,然后便利之后呢,我们再去接收,因为你现在只接收了一个 n 代表。假如说有五个评委,那你接下来要输入的是什么?是对应的五个分数,对吧?比如说一百分,八十分, 呃,六十分,呃九十分,呃,要对应的输入九五个分数,比如说九十五,呃九十分,九十五分,要对应输入这样的五个分数,对不对?那这里呢,就是循环就获取就行了。 input 还是要去掉一个前后空格, 然后呢把它复制给一个 line 吧,可以吧?然后接下来呢,我们判断一下 line 是 否存在,这个分数是否存在,如果存在的话,我们就把它扔到这个分数的列表当中, app 进去,把这个 line 扔进去,这样的话,我们就呃这个分数的列表里边就有五个分数了,哎, 对吧?这个里边就呃 a pen, 那 就有五个这样的分数了啊,那这个呃转换成整数吧,好吧,把这个分数呢,我们给强行转换成整数,然后接下来啊,我们还要做一个判断,评委数不能太少。如果 我们去看一下放到这个分数列表当中的长度,如果它小于三了,那还有意义吗?小于三呢,就是两个,对不对?那去掉一个最大分,最高分,去掉一个最低分,那就没了,所以没有意义,对吧?所以如果这样的话,我们只能 print 一个,零了就打分,没有意义,我们直接 return, 是不是如此啊?好,如果都没问题的话,我们再去获取这个分数里面的最大值和最小值,最大值的话,先划线来一个最大分数,哎,怎么老写错呢,对吧?好,最大分数的话,我们来一个 max, 把这个列表给扔进去,这就能获取到最大值,再获取一个最小值, 依然是把这个分数给扔进去,这就是获取了最大值和最小值再来,干嘛要去掉一个最高分和最低分?所以我们在列表当中啊,要把这个给 ren 木掉, ren 木掉一个最大值,对不对?好,那就是 max, 再来一个最小值, 好,把最大值和最小值都给移除掉了。移除到最大值和最小值之后呢,我们来算总分,先先看一下剩余的总分是多少,我们叫 toto 吧。 总分,那我们就用 sum 和把这个剩余的移除到最大值,最小值,这个列表的总分给计算出来,然后再看一下里面你移除完之后还剩多少人,呃,用总分除以人数,就是它最终的得分吧,对不对?好, 还剩这些,然后在这里呢,我们可以通过 max 要向上取整的,对不对? cell, 然后用最用总分除以人数,得到的分数就是平均分了,对不对? a v g, 好, 得到平均分呢,我们把这平均分给打印出来就行了。 好,然后接下来呢,我们在主函数当中,呃,我们调用一下。调用一下啊, 好,那现在呢?我们右键运行,先输入一个 n 代表评委的数量,比如说一共有五个评委,对吧?第一个评委呢,输入的咱们用用这个百分制, 第一个评委呢给出的是九十八分,很高的分。第二个呢给出的是十分啊,这个就很低,剩余呢给出一个七十分,给出一个呃,八十分,再给出一个。 嗯,这是几个了?四四个评委了,再给出一个八十六分。好,那回车我们看一下,他最终得分是七十九分啊,一共五个评委,去掉一个最高分的九十分,剩余的这些分数再除以三 七十加八十一百五,一百五加上呃,八十等于二百三十六,再除以三,对吧? 三七二十一,剩二十六,三九三八二十四,三九二十七,那向上取整是不是七十九呀?没错,最终评分就是七十九分啊,我们计算出来也是这样,这就是去掉一个最高分,再去掉一个最低分。呃,小莫的最终得分就是七十九分,实现方式就是这个样子了。 好,那如果有重复的分数,他也只会去掉一个啊,都没有问题,因为我们只去掉了一个最大值和最小值。好,那这题我们就说到这里啊,感谢各位聆听,咱们下节再见。

关于我用拍放还原克拉磁猜想,就在今天我刷视频的时候看到了克拉磁猜想,这个都能把数学家搞上瘾又逼疯的难题。这个猜想规则就两条,第一,从正整数中任意选出来一个数字, 但唯独不能是零或者是负整数或者是小数。第二,接下来你选择需要按照以下运算顺序进行,例如你选的是二十五,就要进行第一条规则运算,如果是奇数就乘三加一,得出七六,之后又要执行第二条,如果是偶数就除以二。总之就是这么一个连三年级的都能听懂的规则,却让数学家们无法证明。 而我用拍放还原了这个, 其实这还原起来也不怎么难,连 max 酷也不需要,毕竟这用上的运算只有加除和乘。不过这个猜想确实有点烧脑。好了,本期到这,我是烧印,二三四五六七,下期再见!

蚊子又复活了,开始到处免费送包,这个赛季地球外再一次修复了蚊子夜间飞行声音小的 bug, 缺乏了玩家对蚊子的命中力,同时新增了蚊子组队的机制。 这几天出现在我身上的蚊子包啊,都是两个两个一起出现的,这死蚊子呢,也不管信息素匹不匹配,看到的都通通标记,这 a b o 原来指的是血型那问题我真是 b 型血啊, baby 也要被标记吗? 六神花露水原来指的是抑制剂,我的妈呀,这哪来的骚骚,我又不是草痞,不想当卫文帝。短短两天内身上新增了二十二个蚊子包,又在这跟我阔肆什么甜美的咬痕,哎,我说蚊子, 我好像没有答应过要做你的雪糕吧,也没有缔结过什么雪糕气约吧唧嘴 很没有礼貌知不知道有纹身没文养的东西怪说不得考不了工有纹身吗?我朋友真有话要说了,在光阴里喜欢人家那个吸血鬼的时候又说不讨厌了,你是谁生的?我问你年少牛逼不解释吗? 上个厕所屁股被咬了六个包,在自习室写个题啊,是坐立难,你说挠吧,人家要给你挂上表白条很牛逼是吗?说你破坏公共面貌,你说不挠吧,你又能感受到的那六个包在你的屁股上无限扩大,中式蚊子,你真的有 地球昂赖到底能不能给蚊子这体质改改?声音大,攻击力又不致命,但数值恶心人,偶买噶偶买噶,由于光线呢,隐蔽性还强,策划到底怎么想的,这么恶心玩家,你说这蚊子蟑螂都活着干啥吧?

今天分享一个 gikuboo 上很火的 python 项目 chrislyn, 它不是普通的爬虫库,而是一个自适应 web scraping 框架。简单说,它最大的亮点就是网页结构变了, 它还能尽量帮你重新找到原来的元素。传统写法可能页面一改就失效,但 griefling 的 adaptive 机制可以根据页面变化自动定位相似元素,减少维护成本。而且它不只适合简单抓取,也支持完整的爬取任务, 包括 feature spider、 多绘画、代理轮换、暂停恢复等能力。对做数据采集、竞品分析、公开网页信息整理或者想学习现代爬虫框架的人来说,这个项目非常值得看看。 当然,爬取数据一定要遵守网站规则和法律边界,只采集合规的公开信息。感谢观看,留个关注再走呗!


如果把 python 比作一个话痨又傲娇的老板,那 input 的 括号就是他唯一愿意闭嘴,乖乖听你说话的瞬间。平时 python 总在自顾自的运算,报错咆哮,恨不得一秒输出八百行,但只要喊出 input 的 这三个字母,他立刻向被摁下暂停键,嘴巴闭上,眼神 投过来,老老实实等你投喂,你不敲回车,他就憋着不动,哪怕等到地老天荒。更有意思的是,不管你为他什么,是他,是那个红色的他都统一理解成一串字,你明明对了数字,他偏当文字说,想让他算数得额外念句 咒语, in 等括号,不然他会一脸无辜的拿着十八当一八用。总结, input 是 python 唯一肯当听众的时刻,只不过这位听众有点耳背。我们回到正题,好,那么首先呢,我们是看到第一题,第一题第一题是讲呢,是列表的操作以及 if 语句,对吧?啊,它的一个结合应用,开班前一点都不会是不是?那这就是进步呀, 好,那么他是要求咱们是有一个列表是长这个样子的,需要使用循环来完成以下两个啊,题目第一呢,就是循环列表,循环便利取值,列列列表去打印每个元素的一个元素值,以及元素锁影值。锁影是什么呢? 锁影这个词呢,其实比较少见,在老师的这个课堂上比较少见,但是大家要知道他是什么啊,所以呢,就是 下标纸啊,你像我们在阅读每一本书的时候,对吧,他每一页书他都是有个页码的,就那个页码就称之为锁影, 我们在那个目录目录第一页目录当中可以看到,对吧?啊,每一张对应的那个锁影页码是多少?他其实那个数字就是来定位哎,每一张的位置,每一每一个小说断点的一个位置,是不是 那啊?大家就是需要去理解一下什么是所以啊,所以为什么要哎,和这个下标是同样的意思啊。好,那么这里的话 就是去获取元素以及获取他的一个下标值。用否循环去做和 vr 循环其实都可以去做的,我觉得用否会更加简单一点。 否,先去循环便利这个列表,然后呢,这里就可以去将 i 就 里面的每一个元素取出了,这个没问题啊,这个大家都能去做的。就是 就是,呃,循环去结合训练操作啊。好,取出每个数据之后呢,这里就需要去将十二的一个下标啊,五的下标和八的下标给他依次取出。 怎么取呢?怎么取呢?取下标值,我们在学列表操作时是学了啊,那么我们在列表当中呢,他是对吧?通过下标是可以去取下标,是不是那 列表他通过数据取下标呢?他是由他专属的方式的啊,你得记住,你记不住你就去查,老师给了你那个资料去查的是不是,那有哪个呢?列表 用哪个?对哎,咱们列表去查找数据对应的下标值,就用 index 这个函数啊,你把数据放进去就可以了。这道题就这么简单,就是该函数的应用来,我们直接就是在第 九行写一个啊,打印列表嘛,就是 names 打点去调用 index 函数一定是列表去调用啊,你不要用这个 i 去调用了, i 是 什么? i 是 十二,是个数值类型来的,它是不能去调用函数的啊,然后我们把 i 放进去, ok, 那 么就获取到每一个元素他所去对应的这个下标值锁影值了。好,这道题就这么简单,大家就思考了很久也没有找出啊,解决问题的关键那,哎,十二是零码,五是一码,八是二码,以此去类推,是不是? ok 啊,那么我们去做一个格式化输出的话,就来他是锁影值, 嗯,直接把这个拷贝过来吧,所以小框哎,大框给它扩上去,将这一整块给它 ctrl c, v 过来,然后所去对应的数字啊, 哎,给它改成 i 就 可以了,前面这两行呢,咱们给它去注视一下。好,就这么简单,两行代码就可以搞定了。 o 不 ok, o 不 ok, 这道题咱们就过了,当然有的同学是用到了一个函数,一个函数叫每举函数, 每举函数叫什么名字呢?对,叫 e u n u m, e r a t e 啊, in number, right, 这个每举函数,这个函数怎么去用呢?这函数呢,它是需要去将 啊序列数据放进去,只要把你想要去获取序列的数据,以及啊他的这个下标的目标数据放进去, ok, 那 么就可以去取出来了,对,他可以返回两个值啊,也就说上面是方式一,但能理解的话,我们来听一下。方式二, 每一句函数怎么去做呢?他也是需要借助循环啊,换一个变量,那 列表还是注视回来它呢?是用到 inamort 这个美举函数直接放在 in 的 后面,然后把这个 nums 列表放进去,它专门是放序列的,你像圆组啊,哎,字典啊, 哎,这个列表啊,都可以往里面放。好,那么在这里的话,注意像这个每一句函数会返回两个结果啊,就是序列中的数据和数据对应的 下标值。 ok, 意思就说普通去进行便利取值列表时,只会去得到数据,而通过这个每举函数的一个加持下 啊,在便利序列时会得到两个值,一个是数据和数据所去对应的下标值,那这里就会去得到两个数据,我们就可以在前面啊,就是后,后面呢,就用两个变量去保存一个来个 b 码, 这里就可以去打印,看一下 a 是 什么以及 b 是 什么。好,我们去刷一下看一下啊, a 的 话是缩影,他是先打印缩影的啊。 a, 你 不管这个变量用哪一个变量名去命名,他都会默认保存缩影值, 所以注意, a 里面是缩影, b 里面呢是数据,数据以及他所去对应的数缩影,缩影值就会通过该函数一次性返还给你。这个是这个函数加持下可以去做到的一种效果, 看到没有?零十二一五二八,对吧?这不跟刚刚是一模一样的,我们要去做个格式化输出,那就是这样子,这里呢就是去输出他的 a, 这呢就是 b, 注视一下,好, 就大家可以看一下啊,这两种方式是不 o ok, 好, 这个是第一小问,咱们就过掉了啊,就关于这个函数的应用,老师之前没有去讲的,如果说大家查出来的话, 也可以把它用上,我有看到一部分同学在用这个函数啊,但是更多的是这个 index 的 一个应用啊,因为老师上课讲过的嘛,是不是 好。然后第二小问呢,是打印列表当中所有的基数,基数大家知道啊,就是单数的意思,一是单数,二是双数啊,一是基数,二是偶数啊。 去打印基数,那这里的话就是对于数据去进行筛选了,原来的这个数据呢,是有七个的,那有的是偶数,有的是基数,排除偶数,保留基数的话,那我们干什么呢?来,我们把这一个小问给他, ctrl x 减到这里来, 你干什么?还是要去通过一个负循环变量取值,是不是你要取出每个数据,你才能对于每个数据去进行判断筛选的呀?是不是?好,我们就来一个变量,给他保存一下 从列表当中取出来的数据。 nums 列表当中取出来的数据,那怎么样去写个判断才能去过滤掉偶数,留下基数呢?对,这里有同学就讲到了,就是能够被二去进行整除,余数是个零,那那肯定是个偶数来的。就是, 你想一下嘛,如果说我的是个偶数,二四六八十这样的一个数据,你和二去整除余数,那肯定是个零啊,但如果说你是个奇数,哎,什么三五七九和二去取,那余数肯定是一个一呀。所以呢,我们去判断偶数和奇数,它是有 他的规律的啊,你不管你去处理任何一组数据啊,不管是奇数还是偶数,你要找到他的一个规律,你才能去写好条件去筛选数据。那这里的话就是通过对于 number 啊,它里面的数据和二去取余。取余是哪个来的? 百分号啊?双斜杠是取整这个好,取余,余数只要是个一,那就是个啥? 大一难字难,难吗?好难,就是基数是不是?那这里筛选出来就是五二十三,四十五,七三十一,那其中过滤掉了这个数据,八和十二 o 不 ok? 第一小题咱们就讲完了,大家就是能懂的,来,给老师扣一个一,咱们就过掉了啊, 有没有问题?没问题,来给老师扣一个一,咱们就过掉了啊。这是第一题,准备一定扣后呢,去 再看一看啊,如果觉得在做的过程当中还是有卡顿的,对吧?或者说听到老师的这种,哎思路自己在做的时候没有想到的话,那就下课把这道题不看题目的前提下再做一遍。 没有办法,没有办法,咱们呢,做这个编程的话,一定是多多去练习,多多去记。姜老师前两天报了一个舞蹈班是不是?那也是你,你不能就是说今天去了,明天就不去了,对吧?你肯定是坚持去练习,你没办法,你只能多练,你这个动作你要做到位的话,你只能多练,你才能练的标准。 嗯,好了,那么再来看一下第二题啊。第二题,第二题的话是有一个字母串数据哎,比较长啊,给他 ctrl c v 下来。没看到朋友圈分享,因为跳的不太好啊因为跳的不太好啊,就去了两天,太冷了,天气太冷了,说实话, 好,那么使用循环呢?需要去完成一下啊。 a b 两道题,首先呢是看 a 这道题,他说需要去循环字母串,然后去统计其字母 p 的 出现的次数,其实这道题不用循环也 ok。 当时我在布置这道题的意思是说什么呢?就是循环循环字母串, 然后按照以以这个什么呢一个一个的单词为单位,去统计单词当中对于 p 他 出现的次数啊,他出现的次数, ok, 那 那既然题目是这样子的话,我们就按照提意来完成啊,按照提意来完成, ok, 好, 那么他通过循环循环次序算统计 字母 p 出现的次数 for 直接就是上 for 啊,任何虚列操作都用 for 循环来实现 for 写一个。哎,对,用那个空格去进行拆分嘛是不是?呃,写一个 for i 引 s 就是 便利取值函数串 这里打印 i 那 就是每个字母包括空格在内都会依次取出,对吧?啊都在这里了啊,好,那么现在呢,我们就是需要去对于咱们这个字母它是不是 p 啊,然后统计个数,那我肯定要写判断了,判断这个字母就是变量 i 里面保存的数据是不是字母 p, 那 如果说是的话干什么呢? 哎,我们是不要去记录个数了,去统计个数了。统计个数我记得上节课是给你们去讲了一种方式是需要在上面呢给他干什么?之前不是讲那个循环输入数字的游戏吗?是不是要统计循环次数时是在循环开始之前定义一个初始值 为零啊?为一为一啊,为零为零。 sorry 啊,从零开始啊,循环没开始之前肯定是零次嘛。好,然后呢,我们就对于这个 变量值去进行累加就可以了,对吧?当条件成立一次,咱们就是对于该变量加上一个一,那对吧?哎,只要查询到一个变量加一个一, 好,那么最终当循环结束之后就整个字母串都便利完成之后直接打印这个啊,变量值累加的结果几次 几次三次啊,就是三,返回一个三,最后返回一个三,一二三,哎,就只有三个啊,就只有三个,是不是?好,这个三 我们做最后的输出的话,这个二十九行,你就直接注视掉就可以了。不,不需要把每个字母都打印啊,最后打印变量值三就好了,是不是就三次啊?啊?统计结果是三次,大家可以去做一个格式化输出。好吧,好,那么这个就是 a 这道题啊, a 这道题咱们就过掉了。好,来再看一下 b 这道题,将字母串当中所有空格给它替换成杠,然后生成一个新的字母串,并且打印 这道题呢?其实,呃大,有没有去用那个循环?有没有用那个循环?用那个循环去做,不直接用那个 replace, 这个 函数其实也可以去做,其实也可以去做,直接给它去将空格替换成杠就可以了,它就可以有一个返回值,这个 replace 它是有返回值的,返回的就是一个新的字母串,你打印一下就可以了。当,当然,这个比较简单,对不对?咱们能用的话,你就把这个函数用上啊, 我用循环来给你们去解一下这道题,因为我看到很多同学是用循环去做的,是,有没有去豆包 ai 啊?因为它是一种比较标准的一个答案啊。好,那简单一点,直接用函数实现,复杂一点的话就需要用负循环去便利 s 啊,去便利 s, 字母串码,这个是字母串码,那这里取出来到的这个啊, j 就是, 呃,一个一个的字母,是不是?好,那么我们需要把这个 j 呢给它替换成杠。 ok, 咱们就是去判断 变量之一当中保存的字母是不是空格,只有空格才需要被替换,是不是? ok, 这里注意啊,有个空格在的啊,不是说是一个空的字母是不是?好,那么现在判断,如果说他是个空格,我要干什么?我是需要去将 原来的这个字母串里面的空格替换成杠。那怎样去组成一个新的字母串呢?来,其实跟这道题差不多,他原他原来也是定了一个什么,呃,初始值为零的变量是不是?我是否可以在这里呢?也给他定一个?定一个 u, 呃, n u w s t r 就是 新字母串的意思。那定一个空字母串呢?只要我便利取值一个字母,就往这个空字母串当中去累加大,知道数据累加的话,数值 数值类型如果说去累加的话,则是一加一等于二,二加二等于四。如果说是字母串之间去累加的话,用加等于也 ok, 也能去用,那他的话是拼接的效果啊,之前老师应该有去讲过的,你比如说字母 a, 字母 a 去累加一个字母 b, 最终的结果它是 a b 大 的一个字母串,对不?那么我们现在就可以在这里用这个。哎,空字母串,用这个空字母串去累加就可以了啊,做这个累加操作就可以了, 咱们把这个空格替换成杠嘛,就累加一个杠即可,只有当 g 它是空格的时候给它。哎,替换成杠是不是?好, 那还有不是空格的情况呢?我们用 else 去填充一下,如果不是空格,就不需要替换成杠了,而是直接用原来这个空 字母串去叠加你所去便利取直出来的这个字母即可。 ok, 好, 那么最终我们循环完成,对吧?哎,这个空字母串就会发生变化, 替换之后的吗?是不是就像这样子了啊? o 不 ok? o 不 ok。 来第二题,没问题,来给老师走个二看一下。第二题,没问题,来给老师走个二看一下。这个就是最终替换的结果。循环完成之后啊,咱们这个缩进呢?你要加的话,也可以,就是每次循环他都会把他循环的这个结果告诉你,但是如果说你想要循环, 他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你啊, 你看我加一个缩进的话,这里就是每次循环完成,你看这是第一次循环吗?第一次循环就是一个 p, 用这个空字母串去加上你所去 按循环的第一个字母 p, 那 就长这样子。第二次呢?哎,加上第二个字母,第三个呢?哎,第四个。以此类推。当是空格的情况下的话,判断他是一个空格吗?是不是?那他累加的就不是空格了,而是去累加一个杠,哎,就把这个杠给他带上了。 那这就会循环很多次啊,你有多少个字母,它就会循环多少次,没必要,我们直接就是说循环结束之后去进行打印,最终的结果是不是?好,那么这个是第二题啊,第二题咱们就过掉了。

如果把 python 比作一个话痨又傲娇的老板,那 input 的 括号就是他唯一愿意闭嘴,乖乖听你说话的瞬间。平时 python 总在自顾自的运算,报错咆哮,恨不得一秒输出八百行,但只要喊出 input 的 这三个字母,他立刻向被摁下暂停键,嘴巴闭上,眼神 投过来,老老实实等你投喂,你不敲回车,他就憋着不动,哪怕等到地老天荒。更有意思的是,不管你为他什么,是他,是那个红色的他都统一理解成一串字,你明明对了数字,他偏当文字说,想让他算数得额外念句 咒语, in 等括号,不然他会一脸无辜的拿着十八当一八用。总结, input 是 python 唯一肯当听众的时刻,只不过这位听众有点耳背。我们回到正题,好,那么首先呢,我们是看到第一题,第一题第一题是讲呢,是列表的操作以及 if 语句,对吧?啊,它的一个结合应用,开班前一点都不会是不是?那这就是进步呀, 好,那么他是要求咱们是有一个列表是长这个样子的,需要使用循环来完成以下两个啊,题目第一呢,就是循环列表,循环便利取值,列列列表去打印每个元素的一个元素值,以及元素锁影值。锁影是什么呢? 锁影这个词呢,其实比较少见,在老师的这个课堂上比较少见,但是大家要知道他是什么啊,所以呢,就是 下标纸啊,你像我们在阅读每一本书的时候,对吧,他每一页书他都是有个页码的,就那个页码就称之为锁影, 我们在那个目录目录第一页目录当中可以看到,对吧?啊,每一张对应的那个锁影页码是多少?他其实那个数字就是来定位哎,每一张的位置,每一每一个小说断点的一个位置,是不是 那啊?大家就是需要去理解一下什么是所以啊,所以为什么要哎,和这个下标是同样的意思啊。好,那么这里的话 就是去获取元素以及获取他的一个下标值。用否循环去做和 vr 循环其实都可以去做的,我觉得用否会更加简单一点。 否,先去循环便利这个列表,然后呢,这里就可以去将 i 就 里面的每一个元素取出了,这个没问题啊,这个大家都能去做的。就是 就是,呃,循环去结合训练操作啊。好,取出每个数据之后呢,这里就需要去将十二的一个下标啊,五的下标和八的下标给他依次取出。 怎么取呢?怎么取呢?取下标值,我们在学列表操作时是学了啊,那么我们在列表当中呢,他是对吧?通过下标是可以去取下标,是不是那 列表他通过数据取下标呢?他是由他专属的方式的啊,你得记住,你记不住你就去查,老师给了你那个资料去查的是不是,那有哪个呢?列表 用哪个?对哎,咱们列表去查找数据对应的下标值,就用 index 这个函数啊,你把数据放进去就可以了。这道题就这么简单,就是该函数的应用来,我们直接就是在第 九行写一个啊,打印列表嘛,就是 names 打点去调用 index 函数一定是列表去调用啊,你不要用这个 i 去调用了, i 是 什么? i 是 十二,是个数值类型来的,它是不能去调用函数的啊,然后我们把 i 放进去, ok, 那 么就获取到每一个元素他所去对应的这个下标值锁影值了。好,这道题就这么简单,大家就思考了很久也没有找出啊,解决问题的关键那,哎,十二是零码,五是一码,八是二码,以此去类推,是不是? ok 啊,那么我们去做一个格式化输出的话,就来他是锁影值, 嗯,直接把这个拷贝过来吧,所以小框哎,大框给它扩上去,将这一整块给它 ctrl c v 过来,然后所去对应的数字啊, 哎,给它改成 i 就 可以了,前面这两行呢,咱们给它去注视一下。好,就这么简单,两行代码就可以搞定了。 o 不 ok, o 不 ok, 这道题咱们就过了。当然有的同学是用到了一个函数,一个函数叫每举函数, 每举函数叫什么名字呢?对,叫 e u, 呃, n u m e r a t e 啊, in number right, 这个每举函数,这个函数怎么去用呢?这函数呢,它是需要去将 啊序列数据放进去,只要把你想要去获取序列的数据,以及啊他的这个下标的目标数据放进去, ok, 那 么就可以去取出来了,对,他可以返回两个值啊,也就说上面是方式一,但能理解的话,我们来听一下。方式二, 每一句函数怎么去做呢?他也是需要借助循环啊,换一个变量,那 列表还是注视回来它呢?是用到 inamort 这个美举函数直接放在 in 的 后面,然后把这个 nums 列表放进去,它专门是放序列的,你像圆组啊,哎,字典啊, 哎,这个列表啊,都可以往里面放。好,那么在这里的话,注意像这个每一句函数会返回两个结果啊,就是序列中的数据和数据对应的 下标值。 ok, 意思就说普通去进行便利取值列表时,只会去得到数据,而通过这个每举函数的一个加持下 啊,在便利序列时会得到两个值,一个是数据和数据所去对应的下标值,那这里就会去得到两个数据,我们就可以在前面啊,就是后,后面呢,就用两个变量去保存一个来个 b 码, 这里就可以去打印看一下 a 是 什么以及 b 是 什么。好,我们去刷一下看一下啊, a 的 话是缩影,他是先打印缩影的啊。 a, 你 不管这个变量用哪一个变量名去命名,他都会默认保存缩影值, 所以注意, a 里面是缩影, b 里面呢是数据,数据以及他所去对应的数缩影,缩影值就会通过该函数一次性返还给你,这个是这个函数加持下可以去做到的一种效果, 看到没有?零十二一五二八,对吧?这不跟刚刚是一模一样的,我们要去做个格式化输出,那就是这样子,这里呢就是去输出他的 a, 这呢就是 b 注视一下,好, 就大家可以看一下啊,这两种方式是不 o ok, 好, 这个是第一小问,咱们就过掉了啊,就关于这个函数的应用,老师之前没有去讲的,如果说大家查出来的话, 也可以把它用上,我有看到一部分同学在用这个函数啊,但是更多的是这个 index 的 一个应用啊,因为老师上课讲过的嘛,是不是 好。然后第二小问呢,是打印列表当中所有的基数,基数大家知道啊,就是单数的意思,一是单数,二是双数啊,一是基数,二是偶数啊。 去打印基数,那这里的话就是对于数据去进行筛选了,原来的这个数据呢,是有七个的,那有的是偶数,有的是基数,排除偶数,保留基数的话,那我们干什么呢?来,我们把这一个小问给他, ctrl x 减到这里来, 你干什么?还是要去通过一个负循环变量取值,是不是你要取出每个数据,你才能对于每个数据去进行判断筛选的呀?是不是?好,我们就来一个变量,给他保存一下 从列表当中取出来的数据, nums 列表当中取出来的数据,那怎么样去写个判断才能去过滤掉偶数,留下基数呢?对,这里有同学就讲到了,就是能够被二去进行整除,余数是个零,那那肯定是个偶数来的。就是, 你想一下嘛,如果说我的是个偶数,二四六八十这样的一个数据,你和二去整除余数,那肯定是个零啊,但如果说你是个奇数,哎,什么三五七九和二去取,那余数肯定是一个一呀。所以呢,我们去判断偶数和奇数,它是有 他的规律的啊,你不管你去处理任何一组数据啊,不管是奇数还是偶数,你要找到他的一个规律,你才能去写好条件去筛选数据。那这里的话就是通过对于 number 啊,它里面的数据和二去取余。取余是哪个来的? 百分号啊?双斜杠是取整这个好,取余,余数只要是个一,那就是个啥? 大一难字难,难吗?好难,就是基数是不是?那这里筛选出来就是五二十三,四十五,七三十一,那其中过滤掉了这个数据,八和十二 o 不 ok? 第一小题咱们就讲完了,大家就是能懂的,来,给老师扣一个一,咱们就过掉了啊, 有没有问题?没问题,来给老师扣一个一,咱们就过掉了啊。这是第一题,准备一定扣后呢,去 再看一看啊,如果觉得在做的过程当中还是有卡顿的,对吧?或者说听到老师的这种,哎思路,自己在做的时候没有想到的话,那就下课把这道题不看题目的前提下再做一遍。 没有办法,没有办法,咱们呢做这个编程的话,一定是多多去练习,多多去记。姜老师前两天报了一个舞蹈班是不是?那也是你,你不能就是说今天去了,明天就不去了,对吧?你肯定是坚持去练习,你没办法,你只能多练,你这个动作你要做到位的话,你只能多练,你才能练的标准。 嗯,好了,那么再来看一下第二题啊。第二题,第二题的话是有一个字母串数据哎,比较长啊,给他 ctrl c v 下来,没看到朋友圈分享,因为跳的不太好啊因为跳的不太好啊,就去了两天,太冷了,天气太冷了。说实话, 好,那么使用循环呢?需要去完成一下啊。 a b 两道题,首先呢是看 a 这道题,他说需要去循环字母串,然后去统计其字母 p 的 出现的次数,其实这道题不用循环也 ok, 当时我在布置这道题的意思是说什么呢?就是循环循环字母串, 然后按照以以这个什么呢一个一个的单词为单位,去统计单词当中对于 p 他 出现的次数啊,他出现的次数, ok, 那 那既然题目是这样子的话,我们就按照提意来完成啊,按照提意来完成, ok, 好, 那么他通过循环循环次序算统计 字母 p 出现的次数 for 直接就是上 for 啊,任何虚列操作都用 for 循环来实现。 for 写一个。哎,对,用那个空格去进行拆分嘛,是不是?呃,写一个 for i 引 s 就是 便利取值函数串 这里打印 i, 那 就是每个字母包括空格在内都会依次取出,对吧?啊,都在这里了啊,好,那么现在呢,我们就是需要去对于咱们这个字母它是不是 p 啊,然后统计个数,那我肯定要写判断了,判断这个字母就是变量 i 里面保存的数据是不是字母 p, 那 如果说是的话干什么呢? 哎,我们是不要去记录个数了,去统计个数了。统计个数我记得上节课是给你们去讲了一种方式,是需要在上面呢,给他干什么?之前不是讲那个循环输入数字的游戏吗?是不是要统计循环次数时,是在循环开始之前定义一个初始值 为零啊?为一为一啊,为零为零。 sorry 啊,从零开始啊,循环没开始之前肯定是零次嘛。好,然后呢,我们就对于这个 变量值去进行累加就可以了,对吧?当条件成立一次,咱们就是对于该变量加上一个一,那对吧?哎,只要查询到一个变量加一个一, 好,那么最终当循环结束之后就整个字母串都便利完成之后直接打印这个啊,变量值累加的结果几次 几次?三次啊,就是三,返回一个三,最后返回一个三,一二三,哎,就只有三个啊,就只有三个,是不是?好,这个三 我们做最后的输出的话,这个二十九行你就直接注视掉就可以了。不,不需要把每个字母都打印啊,最后打印变量值三就好了,是不是就三次啊?啊?统计结果是三次,大家可以去做一个格式化输出。好吧,好,那么这个就是 a 这道题啊, a 这道题咱们就过掉了。好,来再看一下 b 这道题,将字母串当中所有空格给它替换成杠,然后生成一个新的字母串,并且打印 这道题呢?其实,呃大,有没有去用那个循环?有没有用那个循环?用那个循环去做,不直接用那个 replace, 这个 函数其实也可以去做,其实也可以去做,直接给它去将空格替换成杠就可以了,它就可以有一个返回值,这个 replace 它是有返回值的,返回的就是一个新的字母串,你打印一下就可以了。当,当然,这个比较简单,对不对?咱们能用的话,你就把这个函数用上啊, 我用循环来给你们去解一下这道题,因为我看到很多同学是用循环去做的,是有没有去豆包 ai 啊?因为它是一种比较标准的一个答案啊。好,那简单一点,直接用函数实现,复杂一点的话就需要用负循环去便利 s 啊,去便利 s 字母串码,这个是字母串码,那这里取出来到的这个啊, j 就是, 呃,一个一个的字母,是不是?好,那么我们需要把这个 j 呢给它替换成杠。 ok, 咱们就是去判断 变量之一当中保存的字母是不是空格,只有空格才需要被替换,是不是? ok, 这里注意啊,有个空格在的啊,不是说是一个空的字母是不是?好,那么现在判断,如果说他是个空格,我要干什么?我是需要去将 原来的这个字母串里面的空格替换成杠。那怎样去组成一个新的字母串呢?来,其实跟这道题差不多,他原他原来也是定了一个什么,呃,初始值为零的变量是不是?我是否可以在这里呢?也给他定一个?定一个 u, 呃, n u w s t r 就是 新字母串的意思。那定一个空字母串呢?只要我便利取值一个字母,就往这个空字母串当中去累加。大,知道数据累加的话,数值 数值类型如果说去累加的话,则是一加一等于二,二加二等于四。如果说是字母串之间去累加的话,用加等于也 ok, 也能去用,那他的话是拼接的效果啊,之前老师应该有去讲过的,你比如说字母 a, 字母 a 去累加一个字母 b, 最终的结果它是 a b 大 的一个字母串,对不?那么我们现在就可以在这里用这个。哎,空字母串,用这个空字母串去累加就可以了啊,做这个累加操作就可以了, 咱们把这个空格替换成杠嘛,就累加一个杠即可,只有当 g 它是空格的时候给它。哎,替换成杠是不是?好, 那还有不是空格的情况呢?我们用 else 去填充一下,如果不是空格,就不需要替换成杠了,而是直接用原来这个空 字母串去叠加你所去便利取直出来的这个字母即可。 ok, 好, 那么最终我们循环完成,对吧?哎,这个空字母串就会发生变化, 替换之后的吗?是不是就像这样子了啊? o 不 ok? o 不 ok。 来第二题,没问题,来给老师走个二看一下。第二题,没问题,来给老师走个二看一下。这个就是最终替换的结果。循环完成之后啊,咱们这个缩进呢?你要加的话,也可以,就是每次循环他都会把他循环的这个结果告诉你,但是如果说你想要循环, 他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你。但是如果说你想要循环,他都会把他循环的这个结果告诉你啊, 你看我加一个缩进的话,这里就是每次循环完成,你看这是第一次循环吗?第一次循环就是一个 p, 用这个空字母串去加上你所去 按循环的第一个字母 p, 那 就长这样子。第二次呢?哎,加上第二个字母,第三个呢?哎,第四个。以此类推。当是空格的情况下的话,判断他是一个空格吗?是不是?那他累加的就不是空格了,而是去累加一个杠,哎,就把这个杠给他带上了。 那这就会循环很多次啊,你有多少个字母,它就会循环多少次,没必要,我们直接就是说循环结束之后去进行打印,最终的结果是不是?好,那么这个是第二题啊,第二题咱们就过掉了。

昨天接了一个同学的单子,题目是任意指定起点,终点求最短避障路线要用到狄斯特和 a 成和包围和算法听起来简单,要做出来能跑能掩饰的就不简单了。第一步,建障碍物模型,我用 o、 b、 b 包围和算法让虚线框紧贴物体的边。第二步,路径规划,用凸包做碰撞检测,狄斯特和 a 星双算法。在这个试图下 家路径会贴着 o b b 包围盒的灰色虚线框。这个路径系统是我免费送给这位同学的。当然啦,其实和终点位置都可以选择。当我把障碍物变成空心的多边形后,这家路径会贴着障碍物边缘。此时我用的是粗包算法。我还额外送了这位同学一些其他功能,比如障碍物数量分类、障碍物无限次随机生成 路径。两种贪心算法的节点数对比,这样能看出来哪个算法更优。障碍物还可以拖拽移动,还有动画演示节点扫描过程。当然了,报告也是给他的,有兴趣的小伙伴可以关注私信我交流算法或定制代码。

大家好,从今天这条视频开始,我将带大家从零起步,系统学派档,同时还会详细讲解各类编程语言知识, a x c 创作工具用法。这套内容我整整筹备制作了三个月,总时长超三百分钟,全程干货无废话, 不管你是纯零基础小白,还是想查漏补缺、巩固基础,都能轻松跟上。学习过程中,但凡你有任何派脏相关疑问、操作难题,或是想深入钻研某个知识点,都可以直接在评论区留言,咱们一起探讨,共同进步。现在派脏已经是超级热门的编程语言,应用场景极其广泛,办公自动化、数据爬取、数据分析几乎覆盖所有使用场景。 很多同学都好奇,这些高价值派脏项目到底是怎么实现的?从这条视频开始,我会一步步带大家落地,从派脏基础环境搭建到需求分析,再到调试运行技巧, 最后完成完整项目。实战视频里用到的所有学习工具、实战案例,圆满五百练习完整学习路线,还有派藏热门方向、自动化、数据分析查重等的配套资料,我都统一整理好了。有需要的留言在评论区敲三个七,或者来我的公众号公开群,可以直接进群免费领取。今天要讲的内容是派藏高阶函数全面了解, 来看一下。高阶函数啊高阶函数,高阶函数, 那他就等于我们之前学过的内置函数,那这是一码事。那为什么他叫高阶函数呢? 因为他在完成某些需求的时候更加高效一点。高效在哪里呢? 你?你得知道这个高阶函数具体是哪几个,哪个他怎么去用,那你自然就知道他高效在哪里,高阶在哪里,所以你首先知道他本质上就是个内置函数,能懂 piston 当中呢? piston 当中,咱们高阶函数本质上它就是个内置函数。在 piston 里面已经定义好我们直接用的三个函数,第一个 mac, 第二个啊,叫什么名字来着? f, i, l, t, e, r 啊,我就不读了。好,第三个 reduce 函数,但高阶函数就选这三个,看起来它们三个也是普普通通啊,只是我不认识而已,对不对? 实际上在使用他们三个的时候呢?他的这个时餐,咱们注意一下时餐,截止目前为止,时餐 我们只去用过什么呢?什么数值类型啊,训练类型啊,制服串类型啊,你有用过函数吗?有没有尝试过把函数作为一个时餐 去用?是没有哎,高阶函数他就可以,他第一个十三,他就是个函数名,第二个十三他是一个训练数据 啊。那么所谓的高阶函数呢?首先不管是这三个里面的哪一个,他 都是第一个是函数,第二个时差是训练数据,那么你就能够清晰的知道他一般用在什么地方了。那就是对训练的数据进行批量 批量操作,处理的时候啊,处理操作时会用到,哎,其他时候也用不上,因为它只针对于序列操作序序列数据去使用, 能懂?就是都是针对于序列数据的。那至于这个序列数据是字母串呢?还是列表呢?还是啊集合字典呢?都可以,那只要是个序列都可以放在这里, ok, 那 他又有什么区别呢?同一个操作为什么要来三个函数?那肯定不太一样,对吧?先看第一个函数 m f, m f 呢? 第一个时餐是个函数名。这个函数老师提个问题,目前我们学的函数分成几个,几个类别就分成几种,分成几种,大学的分成几种。嗯, 大学的分成几种?现在学的函数啊,可能大家不知道怎么去分类啊。那我就讲了,目前的这个函数呢? 内置函数算一种常规函数,自己去做的这个函数。第二种,刚刚学了个匿名函数。 第三种,那咱们麦普这个高阶函数的 第一个时餐,你可以放内置的,也可以放常规的,也可以放匿名的。那通常是哪个?这里答,大家选一下。通常是哪一种?大家觉得是哪一种?放的最多的应该是哪一种? 应该是哪一种?应该是。对,应该是匿名函数啊,因为他是,你看这个地方他只能放一行吗?你要是放个常规函数,对吧? 函数名接过来,你前面肯定要放很多内置的。内置的也行啊,内置的直接接个函数名也行。好,那总的来说三种都能放,就看你要用哪个功能的,要用哪个功能作用在序列数据身上了,对吧? 好,那么现在我有一个功能,我是想着把训练数据里面的每一个每一个字母都转成大写。训练数据长啥样呢?长这样, 呃, d 一。 ok, 长这样子,我现在想要去将我的这个训练数据全部转换成大写, 你用内置的也行啊,用常规的也行,用匿名的也行。我先给你们去来个常规的,因为你只有常规的会写匿名的,你才会写,能懂。我现在这么写,你们看一下, 我来个函数叫 a tens a, 这个函数自己去定义的啊,里面跟个 pass, 再去调用 tens a 好, 那么将来如果我的这个函数要对里面的每一个数据进行操作,那我势必 要拿个负循环,便利里面的数据取出来之后作为时餐传进去。所以这个时餐我没有对他进行处理,而是直接告诉你,他是训练中的每个数据 传递到这个行餐里面,行餐我就来一个,因为是一个一个数据传的,所以我就来一个,就来一个 s, s 传进去之后,他是不是要把我的这个数据数据数据转换成大写? 那确定一下嘛,当前数据是字母串类型,它要转换成大写,则需要去调用一个叫 s 打点调用 u p, p, e, r 函数去达到转换成大写的目的。 还记得这个函数不?字符串类型的转换大写。操作好,这里是不是就可以得到一个结果,这个结果我把它作为返回值进行返回。 ok, 这是我写好的 常规函数,我写好的常规函数,我定义好的常规函数。将来在使用 mac 的 时候,我就直接去将 函数名定义好的常规函数的函数名跟过来。注意不要跟小括号啊,跟上小括号就是在这个位置要去调用一下这个函数了,而我们并不需要调用,我们就跟上名字即可。 好,把序列放过来。 ok, 那 么它的功能就会作用在序列,作用在序列数据身上。 mac 的 功能就是函数的所在功能啊, 作用在序列的每个数据中。好,你看一下它是怎么作用的,人家 a 就是 转换大写的作用,作用在他们身上,那就通通变成大写。 最后我把这个结果给他保存一下。当然如果说,如果说我们直接去保存的话, 他会跟我们在学习匿名函数一样,会去得到一个内存地址。 mac 函数的内存地址 就是得到一串 id, 那 我想要的是什么呢?我想要的是一个数据,那你想要什么样的数据? ok, 如果你想要一个列表类型的数据,你就用列表 这个函数给它转换成列表就 ok 了。如果你想得到一个函数,你就用函数去转, ok, 那 么现在,哎,他就是个元组,我换成 list, 哎,他就是个列表,反正我想要一个数据,我就用哪个数据函数去转就行了, ok, 那 么这个就是我们通过常规函数处理之后的结果,你会发,你会看到非常的高效,这个 mac 就 这么高效,定义好的函数名字跟过来直接作用在他身上,那如果说 这个函数是内置的呢?我直接就拿过来用了,中间省掉了那个什么负循环,便利取值,取出来再去用,就省了一些事情,对不对?所以讲他就是高效一点。那再比如什么呢? 我能不能去将刚刚的这个常规函数给它写成匿名函数呢?给它写成匿名函数,改成二二匿名函数。先来个 number, 那么打后面跟行餐,然后冒号去连接返回值, ok, 好, 那么这一行代码就直接把前面的这两行省掉了, 搞定运行还是一样的结果,全部它的字母全部转大写 就是你 number。 秘密函数通常会结合高阶函数去用啊,因为确实啊,你像我定好的这个 a 函数可能就在这个地方用一次了之后都用不上,那我就没有必要把它做成一个常规函数,我把它做成秘密函数,是不?看起来更舒服一点? 他俩的关联性是不是更高一点,对不对?懂不懂?来这里,懂得懂得,来,给老师走个。二。有没有问题?有问题提问题啊?哪个地方用?不会用的话把问题提出来啊。就是还有更方便的,你看那个麦,那个什么优 u p p e r, 他 这个 u p p e r。 哦,他是需要一个调用使用的啊。不行, 那么可以去用。用什么呢?用那个就还有个更更加简写的,就是 一些内置函数,内置函数,内置函数,它的名字可以直接跟过来。嗯,就比如说呢? 比如说这个 l 一, 它里面的是是什么?是矩阵类型,我想要对里面的每一个数据进行数据类型检测,我把太普跟过来, 这个太普所在的功能就用在虚列的每个数据中,那就是直接就是将它的类型检测出来,得到的结果全是矩阵类型, 对吧?对,就直接去跟含内置的函数,也行也行,也很高效啊,也很高效。但这个就是 mac, mac 他 能够去连接,连接 第一个时餐和第二个时餐的关系。那原本这两这这个函数啊,和这个序列两杆子打不着的一个关系,那通过 mac 高阶函数把它们两个关联在一起,它的作用就能够快速作用在序列数据身上,你懂 能懂不?没懂的话是哪个地方没懂?没懂的话是哪个地方没懂?那像这个内置的我就重视了啊,我给你们去分好类。第一种啊,他是常规的,常规的函数 自己去定义的叫常规。那第二个呢?是把常规函数简写之后的内名函数,内名函数第三个内置的啊,就直接去跟函数名过来, 对不对? ok, 我 把这里改成一个三呢?改成个三,内名函数没懂是吧?内名函数的话,他有他要且只要这一行就行了。这一行呢? 这个函数你如果没懂,老师讲了,你一定是常规函数定义的逻辑,你没懂,能不能懂这三行代码?第一行,第二行, 第三行能,呃,就懂这两行代码就行了,这个是调用,有没有都无所谓。能不能懂这两行代码? 这两行代码,这两行代码是不是就可以去完成把小写转换成大写的这个操作对不对?那我们现在是把这两行代码简写成一个匿名函数, 先选 number, 再把行参跟过来,冒号去连接该函数的返回值,跟过来就行了。在这个 number 匿名函数里面, 这个 s 是 什么?它是不是只待是 l e 里面用来去保存 l e, 就 接收到 l e 里面的每一个数据的一个变量,一个行餐,它是个 s, 是 个 a, 是 个 b 的, 无所谓。 return 是 啥意思? return 是 什么意思?返回值的意思啊,就是在这个函数返回值这里讲了,去把这个数据拿过来, ok 啊,那么麦谱就讲到这里了啊,麦谱就讲到这里了,好,课后一定要去看一下。老师讲了这个课程他都是一环扣一环的,前面这一环一定要听懂啊,后面这一环才能去听懂的。 对付函数和减减函数两个有一个就行了,对吧?对对,那这第一种嘛,常规函数这一行再加 他的定义就可以了。那这是第一种方式,我们打印一下,一看一下这第一种方式,一二三三行,常规函数需要三行去搞定。那第二种简写的话,直接就是一行, 直接就是一行一行,因为他把这两行简写了呀,是不是?对,就是同一个函数,同一个逻辑写法不同, 一个是按照那个规规矩矩的语法去写的,一个就是简化下来的,懂吗?好,就就过了啊,就过了那一只函数反而用的少一点。我是把这个稍微带了一嘴,我就不讲那么多了。好吧,好, mac 就 讲完了, 最后,呃,这节课可能可能讲不完这个 rid 这个再讲,但是这个啊, f r 这个函数 他比较好去理解,他和那个 mac 几乎是一个逻辑。那主要是这个函数名呢?他除了能够将功能作用在他身上以外, 他必须得是个过滤函数,他必须得是个过滤函数。怎样去构建一个过滤函数?那必然是这个函数里面,对吧?他是有, 他是有条件的,有条件之后才能去将咱们的这个数序列数据根据条件去进行过滤。 我还是以常规函数和命名函数进行对比给你们看一下。这里我们就来个 test b 看下能不能懂啊。 ten 它的这个里面直接去设置参数和返回值,参数是什么呢? 我还是给到一个 s 行餐式叫什么?无所谓啊,给个字母,随便给个字母都行。 s 和二去进行取余,余数是不是零? ok, 那 么现在你知道 s 是 什么吗? 训练里面的每个数据,那每个数据通过和二去取去进行条件过滤。 去进行条件过滤啊,所以它的作用,这个高阶函数的作用就是对训练数据 进行条件过滤的,当去就当我们判断的结果是 t, 则这个数据留下来,如果说是 f, 则这个数据 pass 掉去进行过滤。好, 高阶函数,你看嘛,老师在写这个高阶函数的时候,第一个时餐是 faction, 就是 一个函数,第二个时餐呢,是个可迭代对象,就是训练数据才能放,就两个参数,两个时餐。 那么过滤函数名,我直接把 b 换过来,训练数据还是这个不行了啊,这个是字母串类型。呃,来个 ar 吧, 存个,随便存点数字。 ok, 差不太多啊,就是把那个,把那个偶数给他留下来,他偶数比较少啊。 ok, 好, 就把那个偶数留下来,我直接把 l 二粘贴过来。那这里会得到一个结果吗?这个结果我们如果 啊,要他以什么类型给到我们,我们就用什么函数给它转换一下,我用类似的函数是想要我得到的结果是个列表。 ok, 来个 rex 四,打印一下。 rex 四,好,结果呢,就是偶数留下来了, 因为只有偶数条件才是 t, 当条件是 t 的 时候,数据保留下来,当条件是 f 的 时候,数据过滤掉。那这个是什么呢? 常规函数嘛?常规函数的写法。那常规函数这个函数你只用一次的话,只在这个地方用一次,你有必要通过这个地方去进行定义吗? 没有必要,所以最好呢,咱们还是将它改写成匿名函数, 匿名函数改写的时候,你就看行餐是什么,返回值是什么,你跟过来就行了, 还是这个高阶,还是这个 l 二前面放的,改写成 number 命名函数好,行参 s 冒号去连接返回值。 ok, l 二里面的数据就通过匿名函数所去内嵌的条件进行过滤,最终还是一样的啊,你要去得到列表,你再加个 list, 你 要得到源组,你就加一个 top, 那 反正它的这个数据是多个的,你得拿序列去保存呐,它是有多个数据。嗯,瑞斯五 好,自己打印一下 windows, 那 结果还是一样的,这个没擦啊,这没擦啊。 ok, 好, 那么这节课就讲到这里了, windows 的 话,它涉及到模块的导入使用,下节再讲吧。好吧,好, 咱们还是先把这个 mac 理解好。第二个高阶函数就在 mac 的 基础之上呢,是一定要去加一个过滤过滤操作的,它是将过滤操作和序列数据结合起来,将过滤 的这个条件作用在序列数据身上,当条件为 t 的 时候,数据留下来,当条件为 f 的 时候,数据筛选掉。这个是我们在后续学数据分析阶段的时候会去用到的一种做数据处理,数据高效处理的函数。 ok, 几下就没了啊,几下就没了。对,上面这种就不需要去剪写了,你想用第一种,你就用第一种,你想用第二种,你就用第二种,你用惯了,你自然就能切换自如了,对吧?前提你是你得用惯啊,你得用惯啊, list 的 top 这些。这个呢,就是数据类型转换的问题,咱们班确实啊,就是数据类型转换的时候呢,是学了哪哪几个函数,是学了那个什么 s, t, r, float, float 怎么打的好? int 好, 这个是前面,就是比较简单的数据类型转换,可以用的三个 函数,你要转换成什么类型,你就用哪个函数。那同理,在复杂类型序列类型里面也有 set top, 没有那个字典转换啊,没有这个什么 d、 i、 c、 t 去进行转换,因为字典它是键值对的结构,其他的序列它没有这个结构,所以它没有办法通过转换去构成键值。对, 明白,所以就这六个,六个转换的啊,函数你要转换成什么类型,你就用哪个函数啊,就这个意思啊,你其他就没有了。好吧,好,那么这节课没有问题的话,来给老师扣一个八,咱们就下课了。好吧,这节课老师讲了,他就是我们 排除基础最难的一节课,难也就难的了,能懂没有更难的了,难也就难到这里。所以 同学们如果课上吸收吸收不了的,一定要课后再去多巩固一下,包括老师之前有给你们去提供资料啊,像那个什么菜鸟教程啊,和那个 c、 s、 d、 n 博课啊,去看一下,去看一下,去看一下啊。 哪个哪个?是这些吗?它是转换的意思,这个是,这应该是忘了吧,它就是你看,呃,对,它就是数据类型转换的意思,你像 你像这个是矩阵类型嘛,通过 list 就 可以给它去转换成列表类型, 就是切类型的就切换数字类型,数字类型不同操作不一样吗?那如果说我们要满足这种数字操作时,就不得不去将数字类型转换了,懂吗?当然你像 你像四川,你这个函数,它里面放整数类型的时候,也可以给它转换成一个字母串类型。这个不是在这里讲过吗? 这个不是讲过吗?可以回头去看一下这些函数转换好。作业做一下啊,作业做一下作业做一下, 这个作业做一下啊。好,也不要给自己太大的压力,咱们具体的话一定要去结合实质操 作去做,然后我们具体的话一定要去结合实质操作去做。然后我们在后续的这个爬虫里面呢,你用起来的时候呢,也不会有,也不会说,就是综合性太强啊, 你最起码你对这个单词这个函数有点印象就好了,就到时候,呃,也会给他们去稍微带一下基础阶段同学们遗忘掉的知识,稍微带一下是吧?啊?就是爬虫快或者数据分析这个要去用到的函数操作去带一下的。 mac 这个这两个函数它是没有办法。呃,这两个函数它不是通过啊,第一个高阶和第二个高阶,它不是通过数据的个数去进行理解的, 你得理解它的作用,那第一个函数它是将函数作用在虚列中, 那他并不会对训练里面的数据去进行过滤,去进行删除,而第二个函数他会过滤。过滤是啥意思啊?这原本有十个,通过条件过滤变成,变成多少?变成三个了,这相当于是什么呢? 这个就相当于你写了个 if 条件判断在十个数字当中,只有是偶数的时候才会输出,那原本是不是十个数字,那现在只能去输出二四六八了。他是 在第二个高阶函数这里加入了一个过滤操作,所以结果不一样,你得先理解前面的,你才能把后面这个结果理解清楚啊, 这个这个字母串呢? string 就是 字母串的意思,这个是浮点型的意思, 这单词忘了整形列表集合分组。好,这个就到这里吧。

没人觉得这几年的蚊子越来越离谱了吗?不知道大家有没有发现,今年的蚊子已经提前来了,截止目前,蚊子已经基本占领华南, f 三部分蚊虫小分队已经开始在北方室内出现。而且有各行发现,今年的蚊子还会迎来一波史诗级加强,因为今年夏天到秋天可能会形成一次厄尔尼诺事件,而厄尔尼诺能显著家具。夏季高温和极端暴雨,蚊子最喜欢, 那就是高温和暴雨了,这个温度和湿度都特别适合蚊子繁殖,所以今年的蚊子数量可能会暴增,战斗力也会翻倍。而且现在的蚊子抗药性也越来越强了,普通的驱蚊产品对他们基本已经没那么管用了,咬的毒就算了,更可怕的是还可能引发登革热等蚊媒传染病。蚊子真的太可恶了,别的物种进化就进化了,蚊子,你进化你大爸呀!

大家好,从今天这条视频开始,我将带大家从零起步,系统学派档,同时还会详细讲解各类编程语言知识, a x c 创作工具用法。这套内容我整整筹备制作了三个月,总时长超三百分钟,全程干货无废话, 不管你是纯零基础小白,还是想查漏补缺、巩固基础,都能轻松跟上。学习过程中,但凡你有任何派脏相关疑问、操作难题,或是想深入钻研某个知识点,都可以直接在评论区留言,咱们一起探讨,共同进步。现在派脏已经是超级热门的编程语言,应用场景极其广泛,办公自动化、数据爬取、数据分析几乎覆盖所有使用场景。 很多同学都好奇,这些高价值派脏项目到底是怎么实现的?从这条视频开始,我会一步步带大家落地,从派脏基础环境搭建到需求分析,再到调试运行技巧, 最后完成完整项目。实战视频里用到的所有学习工具、实战案例,圆满五百练习完整学习路线,还有派赠热门方向、自动化、数据分析查重等的配套资料,我都统一整理好了。有需要的留言在评论区敲三个七,或者来我的公众号公开群, 可以直接进群免费领取。今天要讲的内容是 css 选择器,关于 css 选择器的设置。 css 选择器的设置咱们有没有发现一个问题啊?就有没有发现一个问题,咱们在 c s s 样式里面,对于一个标签去进行调整的时候,我们是给他去设置了这一套的样式, 你发现我要设置第二个标签的时候,我还得把这套样式再写一遍,放到它里面去,就有没有好一点的办法,就能够让我这一套样式既能加载 p 当中,又能加载在 a 当中,又能加载在 div 当中,这样我就不用写那么多样式了,对不对?如果说真的就是按照老师二 css 样式这个 html 这个写法, 那真的是一整个网页,你从从年头写到年尾,你都是写不完的,对不对?所以呢, css 样式,哎,咱们确实学完了,但是我们实质上在应用的时候呢,它会有一些更加巧妙的一些方式, 那么这些巧妙方式称之为 css 选择器,什么意思呢?选择器选择器,它主要是应用在标签身上,我们通过怎样的方式去选择到这个标签,然后去设置这个标签的样式, 去选择标签,设置标签样式的这个过程,这个动作 a 可以 通过 css 选择器来完成。那么以上老师在这个样式的前面直接加个标签名,这称之为标签选择器, 很常见,但是不常用,确实一个标签要写一套,一个标签要写一套,这也太累了,对吧? 啊?但如果我们刚入门的话,这种选择器写法还是比较友好的,很容易理解吗?对不对?选择哪个,设置哪个?是不是 来介绍其他更多的让我们感受一下啊,就是像我们这个 csn 选择器的一些其他用法。好,那么在这里的话,老师首先先给你们去标记一下,咱们关于选择器到底是分类了几种,在保底当中直接来个注。是啊,首先就是咱们的第一种 标签选择器,但它呢,是通过标签名是直接去选中标签,这很简单,标签名是什么,就给谁去进设置,当然不好用, pass 掉来第二种, 第二种呢,将会是最好用的,大家最常见的叫类选择器,但它呢,是会给每一个标签起个类名,通过这个类名选择到标签, 那它里面会去设置一个 class 属性,这个是 class 的 一个属性值,就是类选择器的 啊。类名它它需要去选择的那个名字,也就讲所有的标签将重新再去通过 class 属性拥有另外一个名字,那我在选择这个标签的时候,我通过另外一个名字用类名选到你。那如果说 p 标签的类名叫 p e, div 的 标签类名也叫 pe 啊,咱们 a 标签的类名也叫 pe, 那 么现在我直接通过 pe 三个全选中,三个都去进行统一设置,这是类选择器就更巧妙一些。当然还有叫什么 id 选择器 和类选择器几乎是一样的,是通过 id 这个属性去设置的一个属性值,也是给标签起个 其他的名字,几个 id 名字,那么 id 和属性是一样的, id 属性值同样也可以去选到标签,但它不一样的是什么呢? class 属性是可以给 多个标签设置统一的名字,而 id 只能给一个标签去设置一个名字,那 这个 id 呢,就更像是那种就是专属专属样式的时候才去用到的一种选择器方式。 id 嘛,唯一唯一设置 id, 一 般你像 id 编号,你是一号,哎,我就不能是一号了,我得是二号三号依次往后面排是吧?它一般表表示唯一的意思。 好,那还有呢,一个比较好玩的叫伪类选择器,这个伪类选择器呢,它是可以对于标签的状态进行伪装,可以去设置标签的状态,比较好玩。你像一个标签,你想去点击它,你想去悬停,你想去双击,哎,就通过这个选 伪类选择题去做,这样子我们就可以去点击网页当中任何一个标签了。好,暂时就这啊,四个。第一个呢?标签选择器我们是已经学了,不多说,直接 class 属性,直接来两个 diy 名字,你可以看到标签名是一模一样的。你是 diy, 我 也是 diy, 那你是第一个,你是第二个, ok, 好, 那么现在如果说我通过标签选择器去设置那两个都选中了, 那可能还会出现 di 啊,什么 p? 标签嵌套一个 di, 嵌套一个 p, 再去嵌套一个 p, 再去嵌套一个 p, 再去嵌套一个 div。 哎,我通过标签选择器,不管你嵌到多深,我都能给你挖出来,给你选中, 你这种标签选择器就要不得啊,那怎么办呢?那已经不用标签选择器了,你签到那么深,都挖出来,对吧?都去给它设置成统一的样式,那这里,哎,我们在这里去设置一个 class 的 一个属性,给它设置属性值为第一,对吧? 哎,你也可以设置为 class 属性值为第一,那现在你是第一,我也是第一。我们两个如果说想要去设置统一的样式,哎,这里同样是去写 style, 选中 d i v, 属性值为 d i v。 你 这里不能直接写个 d i v 了啊,这是标签选择器的写法,咱们现在要写什么呢?类选择器的一个写法, 精确定位到我的标签,选到我的标签,你就用这个 d e 来。 d e 不 就是类名吗?你要通过这个类名定位到你就把这个类名写过来,那写过来呢?注意前面还得加个点,这是类选择器,它的固定写法, 前面加个点,再跟上一个类名。哎,现在就选到了所有类名为第一的你,即使你叫 p 标签或是段落。 哎,只要你的这个 class 的 一个属性值为第一,他也是会被选中的,不信我们来看一下吧。设置一个非常简单的样式, 文字颜色。文字颜色啊,不是背景颜色,背景颜色得加一个 back ground, 我 全部设置为蓝色的。好,并且三个都是蓝色的,因为啥?他们三个起了个小名都叫第一,那不都选了吗?对不对?那当然,我们现在要的就是不选呀,对吧?分开去设置呀, 我要第一个 div 去设置为红色,第二个 div 设置为蓝色。那咋整呢?这样子我们可以在 给他起一个小名别名的前提下,再给他起个小名。就一个人同时拥有两个、三个、四个、五个名字,分开去设置样式空格,再给他起个名字叫第二,我空格再给他起个名字叫第三。那我分开再去设置一个是第一。二 设置,为什么呢?这样我就设置一下字体,因为颜色已经统一设置了,我来设置一下字体大小,一个呢,来个二十 ps, 一个是第三,来个三十 ps, 三十 ps 够吧?好,第一是统一的,你有我有,大家都有。那第二和第三是他的一个名字和他的名字单独给他或者他去进设置,那么一个呢?是二十,一个是三十,一个是十六, 这样子是不就能够区分去进设置了,对不对?那当然,老师,这里只是一个简单的字体调整,你当然你还可以,对吧?再给他去补充其他的样式进去, ok, 那 么这就是一个 plus 类选择器的写法,注意写法啊,咱们在选的时候呢,得用它的这个名字去,对吧?第一第二的这个名字去选到它,你不能用 diy 的 这个名字了。还有就是我们这个 class 里面可以有多个属性值,都好隔开, 一个属性值代表这个 diy 的 一个名字两个属性值,那说明他有两个名字,你也可以去叠加,对吧?你说不定还有其他的样式也要加在这个 diy 身上,你再补个名字就行了,就这么简单,它非常灵活,是我们用的最多的一个选择器类型 啊。啊,这个是我们用的最最多的一个选择器类型啊。对,他有会有多个属性值,这个我读一下啊,类选择器可以有多个属性值啊,一个属性值是一套样式啊,一套样式, ok, 类选择器既可以给所有标签设置统一的样式,又可以给每个标签设置独一无二的样式,他就这么好用。 就再来看一下 id, id 就 比较死板了,它只能去设置那种定制化的,你像如果说你去一个一个商场去买衣服,对吧?那你就是他们家的会员啊,它会给你定制衣服啊, 它是给每个标签去定制样式,就只能你有的,别人都不能有的,哎,用 id 选择器去设置,因为像这种样式你用标签来设置也不行呐,你不可能一个网页当中就一个皮标签,对不对啊?所以的话, id 选择器这个时候就会产生它的作用,我还是一个 d i v, 我是 第三个, 好,给他通过 id 属性去设置一个 d 四啊。 d 四已经到四来了对吧? d 四好,那么现在,哎, id 选择器的写法,他的这个选择器的写法呢? 不是打点去掉 d 四了?不同的选择器的写法啊不同,这里再打个井号调出这个 d 四。 设置 id, 看类选择器 id 选择器写法不同,得用井号调出来,井号调出来之后呢,哎,我们就可以去设置来个颜色吧,你随便设置颜色啊,或者自己大小啊,背景颜色啊都可以啊,反正有点区别就行了。设置颜色我们来一个 鲜红的颜色。 ok, 现在运行好,他就只能给这个 diy 去设置一个 d 四,你再来一个 diy。 哎,我也想去设置一个 id 值为 d 四,不行啊,就只能独一无二。 ok, 比较霸道的啊。好,那么这个就是 id 选择器啊,能用,但是呢,也只是特殊场景之下单独去设置样式的时候才会去用,其他场景呢,几乎是类选择器包场的哈。好, 嗯,最后还是最后,这个还是讲完吧,内旋的器比较好玩的一个东西,对不对啊,来讲一下内旋的器吧。内旋的器还是一个标签,叫 h 一 的一个标签啊,它的这个文字比较大,我是一个标题标签,一级标题,大家可以看一下它这个文字加粗放大的对不对? 好,那么这里的话尾类选得起。他不是说哎通过什么属性值啊,给他设置一个别的名字,而是设置的是标签 h 一 这个标签自身的一个状态。什么状态呢? 他可能会被用户去进行点击呀,悬停呀啊或说访问未访问呐,这种状态我就知道两个,一个是点击,一个是悬停。好,我们还是通过 class 给它设置为一个 h h, 或者你不设置也行,你通过 h 一 这个标签选中它也可以,我们就通过标签 h 一 给它选中吧。啊?选中它之后呢,去设置该标签的一个状态, 直接在这个地方写尾类选择器的写法,设置一下 h 一, 直接选到它,反正就只有一个,我直接选到,选到它,对不对?选到它之后呢?哎,一个是点击,一个是全体来,在这里呢,我还是。 嗯,展开去进行点击,对不对?我直接在这个 h 一 标签去进行点击,对不对?我直接在这个标签名的后面冒号去接上一个 a t a c t i v e 这个单词 active 啥意思呢?点击的意思,你要点这个标签,哎,你就选到它,然后给它加上点击这个状态,就是点击状态,鼠标 点击状态, ok, 那 点击之后你要干嘛呢?你比如说我点了之后,我要把它的颜色改一下,我要把它的这个文字颜色给它改成白色,那白色是不看不到了,别急,我再把它的背景颜色给它改成蓝色,那这样是不就能看到了?那这个呢?是我们点击之后会去发生的事情, 点击这个状态触发之后会去调用的样式来这个标题,对吧?点击一下,点击一下,当然你得持续点击,你才能一直看到,你松手,它就没了,点击一下它会出现的,看到没有,这就可以在网页当中做效果了,能够去做效果了。明白, ok, 就通过一个冒号去绑定一个点击状态标签绑定,点击状态冒号去绑定啊,当然我们是通过标签名去进行定位的嘛。那如果说你是给它去起了个 class, 起了个别名叫 h h, 那 在选它的时候呢?这个前面你得去用点 h h 给它绑个 点击状态。明白,就前面这里,在选的时候稍微注意一下,不同的选择器写法不一样啊,后面这个冒号连接点击单词的话是一样的一样的写法。再有就是一个悬停鼠标去绑击悬停的一个状态,还是点 h h, 冒号去绑叫 hover, 这是悬停的意思,悬停在这个 鼠标体上面呢,我让它的这个 function size 直接到五十 p x 的 同时,再给它的一个文本加个下划线来悬停啊, 鼠标签去绑定,鼠标悬停状态。好,来直接看一下, 哎,我全顶在上面去就对吧,就放大放大,加个下黄线,我再点击一下,哎,是不文字变颜色,背景也变了,全顶点击。好吧好,那么这就是以上就是本节课所有内容,大家课后呢去试一下,去玩一下啊。

今天我们学习合格考操作题中求正方体的体积,题目是说输入一个正方体的边长,求该正方体的体积。 我们先数一下有几个空需要填一个,两个,三个。好,我们先看第一个空,第一个空考察的是从键盘上输入,他有一个固定的格式,好,老师带着大家一起回忆。是 变量等于 it 整型或者是浮点型。括号里面写一个什么呢?还记得吗? input, 输入 再一个括号里面写一个提示符,提示的汉字,比如请输入你的成绩,这主要起到一个提示的作用。 好,我们将第一孔带入到这个框架中,我们可以看到 a 是 变量,而这个地方呢,他选择的是 int 整形好,往后看这个,这个地方应该填什么,是不应该填 input, 所以 直接套公式 input, 然后这个地方是提示语,我们看第二孔, v 等于 a。 三,我们知道正方形的体积是不是底面积乘以高, 而且正方体的边长是一样的,所以我们可以认为正方体的体积是不是边长的三次方, 边长的三次方,边长是哪个变量?是不是 a? 那 a 的 三次方怎么表示呢? 它可以直接是两个星号是三次方,如果是四次方的话,就是 a 星星四, 这就是 a 的 四次方。因为是三,体积是三四方。好,所以 a 的 三四方负值给的是 v, v 就是 体积。后面分孔 print 的 输出体积为 哪个变量代表的是体积,是不是 v, 所以 我们可以直接输出 v 就 可以了。好,把它这个组句放,就是量好输出。 请输入正方形的边长是二 a p 九为八,这就可以了。