同学们大家好,我们继续 python 绘图库的学习。今天我们将要一起绘制一个非常古老的国旗,丹麦国旗。丹麦国旗是目前世界上存在的最古老的一面国旗。 我们先来看一下丹麦国旗的样子,它的底是一个红色,然后在中间呢有一个十字架, 上面是我们丹麦国旗的一些它的参数。好,那今天呢,我们先不去分析丹麦国旗它的画法,我们今天先要学习一个新的知识点, 函数,也就是说我们今天需要通过定义一个函数,并调用函数。哎,解决我们画国旗的问题,很多同学说了,老师 啊,我没听过函数呢,是不是很复杂?不要着急,我们今天稍微一讲,我们同学们都能明白。我们先来回顾一下我们原来的内容。好,首先我们先导入我们的 turtle 库, 我们使用 t 点 d n 一,让我们的窗口保留下来。嗯,好,这个是我们的窗口,把它放到右边一点。 我们上节课呢,已经非常熟练的能够使用绘读库绘制长方形。那现在呢,我们来一起先去巩固一下长方形的绘制。然后呢,我们再讲到底什么是函数。 如果说我们想绘制一个长方形,我们可以使用循环把移动右转的指令 复做几次就好了。我们先去画出一条边,再去画出另外一条边,然后再重复做两次。那我们使用 for i in red 重复这样两次冒号,注意,冒号以后我们这边会有一个缩进。好,那这时候我们使用 t 点 forward 向前走,比如说我们要绘制一个长为一百,宽为五十的长方形,我们使用 type right 九十, 然后我们再移动 f, r, w, l, d, 再移动一五十,啊,好,然后我们再去右转九十,那这时候我们就可以画一个长方形了,我们来点运行 a, 我们发现长方形我们画好了。如果说我们希望把这个长方形做填充,那 我们第一个指令是,首先我们先落笔喷到那同学说了,老师,这里面我们不落笔也可以。是的,但是我为了把这读指令写的完整,我们就落笔,然后我们使用开始填充, begin fill 开始填充,然后再画好以后呢,我们使用 t 点儿 and feel 结束填充,然后再使用 t 点儿喷 up 台笔,也就是说这个我们可以理解为是一组指令,它的作用就是来画长方形的。 嗯,我们这时候用这组指令画了一个长方形,首先呢,我们先把我们的这个速度啊调整到快一点, t 点 speed, 我们还记得吗?我们把速度调到零的时候,这时候我们是最快的,一是最慢的。好,那现在我们长方形 快画好了,那上节课的时候我们通过画长方形绘制了,嗯,德国国企,法国国企等等,是不是?那,那我们,哎,什么是函数呢?我们说说半天呢,老师你还没有说什么是函数呢?首先我们先认识一下函数这两个字哈, 来写出函数, 我相信呢,很多小朋友是第一次听到函数这样的词,是不是?那什么是函数呢?我们可以理解函数呢,就是能够实现某一个功能的一组指令。 这句话听起来可能还是有一点点不太容易理解,是不是?那现在我们就来看一下我们的左边,那这个呢,是不是能够用这组指令就画出一个 长方形,也就是说我们的左边的读指令,是不是我们就可以理解为它的作用就是画长方形? 那好,那现在呢,我们就把这组指令,如果我们把它打包一下,那么它就可以变成一个函数。嗯哼,好,那我们就初步理解了,说,诶,函数啊,其实啊,我们可以理解为就是能够实现某一个功能的这样的一组指令。 那,那现在我们来学习一下如何在我们的 python 中定义函数。我们认识一个关键词, d, f, d, f 是哪个 单词的缩写呢? a 是 d, f, i, n, e, define, 来,同学跟老师一起读一下 define, 那它的意思是定义,也就是说在我们的 英语里面,它的意思就是定义,我们取了前三个字母,而且这三个字母啊,嗯,非常特殊。 a, b, c, d, e, f 是不是连在一起的?同时呢,在我们的键盘中,我们会发现 d, e, f 也是连在一起的,很好输入哈,那后面就是我们的 哦,这个工具的名称长方形,我们就起了个叫长方形,这个叫函数名,你可以任意起啊,和我们的变量名等等。好,我们是一样的规则 啊,你可以写个自己喜欢的这样的一个工具的名称后面有括号,函数,后面的括号必不可少,然后后面我们加一个冒号, 这个括号里呢可以填东西,也可以不填东西,这个里面的东西叫做参数。我们一会会讲到 这时候我们的函数 define 啊, define, 长方形括号。好了,那这时候我们一回车就会发现这有个缩进,所以说那我们需要把函数里要做的事情,把它放到这个缩进里面,我们可以选中要放进去的东西,按一下 tab 键, 他就会自动缩进。这里有一个小小的技巧,就是如果选中想缩进的这几行指令,摁 tab, 他就会每次缩进四个空格按或者一个 tab 的宽度。那如果说我们缩进多了,想返回来的话,按住 shift 按 tab, 他就能返回缩进。 好,那这时候呢?我们啊这个工具啊就创造好了,也就是说我们这时候就可以理解为我们创造了一个能够化长方形的工具。嗯,我们 通过 define 这个函数创造了一个这样的工具。那现在我们说老师,那你就点个运行,我们看一下吧,我们点一下运行, 哦,为什么不好使呢?也就是说我们函数并没有发挥用处,那为什么呢?因为啊,我们只是创造了工具,并没有拿过来用它啊,好比,比如说我们家里买了一个电视机啊,我没有去打开它,那我们就看不到东西, 对吧?嗯,好,那如何去使用我们的工具呢?我们叫做调用函数,那我们只要把函数名呢拿下来,我们写了一个长方形, 然后括号,这时候我们发现,哇,我们就可以使用这个工具了,那这个就是函数的定义与函数的 调用好,函数的调用我们可以理解为就是使用这个函数去做事情,那现在我们已经哎掌握了函数了, 我们就来分析一下今天我们要做的事情好不好?好,我们先把这个调用先删除掉, 那我们看一下今天丹麦国旗它的一个大小,首先丹麦国旗的比例比较特殊, 三十七比二十八,哇,我们是不是第一次看到这样特殊的比例,那如果说我们要把这个画布呢,设成我们的,按照比例啊,设成这个大小的话,我们可以使用 t 点 screen size, 画布的大小我们可以设为三百七十,然后逗号两百八十。好,那这个可能比较小,哎, 我们先看一下,哇,其实还可以了,是吧,那我们就用这个比例好了,也就是说我们把这个山前后呢都去成了十,扩大了十倍。 那这时候呢,我们啊说底色是红色,我们有一个特别重要的指令哈,就是在 screen size 的最后一项,我们可以添加一个颜色单词, 这时候我们的底色就会变成红色啊,说,老师,你这红色和这个红色好像不太一样哈,没事,我们画的是金色的,我们理解意思就好,如果同学们能找到更准确的颜色单词,可以自己替换一下。 好,那这个呢,就是我们的准备工作做好了,哎,我们做了一个和我们这个一样大小的一个旗面,并且呢颜色涂成了红色,我们把画笔抬起来,也就是说这个呢,我们可以理解 是准备工作,也就是每次开始的时候,我们哎都需要做这样的事情,先把画布大小设定好,放到第二步,哎,对吧,我们的画笔速度可以调快一点,然后同时呢我们可以把画笔抬起来,这样的话避免出现一条线。 那现在我们就来一起分析一下,我们这个画布到底是被怎么分割的。他说了白色部分呢,占宽度的七分之一,也就是白色这个部分,他是整个宽度的七分之一,而且上下呢是一样的, 那上面呢,我们是不是就可以理解为是三份,下面也是三份,那中间呢,就是一份喽。 哎,我们发现这个还很好算哈,三份,三份,一份,一共是七份,那我们把二十八分成七份,那 二十八除以七,我们会得到四四七,二十八,是不是?所以说,那我们这个呢,我们就可以算出来了,是不是多少,那也就是说白色部分,嗯,他占了 哦,我们中间的一份,那所以说就是四十,注意啊,因为我们成了十了,对不对?那四十去乘一等于四十,也就是白色部分的宽度,他就是四十, 那上面和下面我们的宽度其实我们都可以算出来,其实我们这里可以不用算啊,同学们也可以自己算一下哈,因为啊,每一份呢是四十,对吧?哎,因为二十八除以七等于四,我们是乘以十,那所以说这个呢,就是四十七乘三 啊,就是一百二十,对吧?因为我们左上角是一个正方形,所以说我们的上面和 左边都是一百二十。那现在呢,我们先去完成我们的,嗯,第一个小小的一个事情,就是我们先找坐标来,同学们自己跟我一起思考,如果画谱的大小被我们设定成两啊,三百七十,两百八十,左上角坐标是多少 未必能用得到,但是我们先算一下左上角坐标是多少,嗯,好,有的同学呢,可能已经算出来了,三百七十的一半左上角的坐标啊,好,三百七十的一半是 一百八十五,对不对?好,一百八十五,那因为是我们左边,所以是 x, 等于负的一百八十五,那外坐标呢?外坐标好,算两百八十的一半是一百四十,所以 y 坐标因为是上面,所以正的是一百四十,也就是我们的。嗯,这个位置好,也就是左上角的坐标就找到了, 同学们要非常熟练的能找到坐标,那现在呢,我们来看说我左上角,其实我并不要去哎,那个位置画图形,我们想画的是什么哦,画的是白色的长方形,那画白色长方形,我们长方形的这个工具已经做好了,我们只要拿出来用就好了, 但是呢,我们怎么去用?哎,那这时候我们发现我们的工具啊,好像有点问题。好,这工具只能画长为一百,宽为五十的,但很明显,我们这个长方形啊,他不是长为一百,宽为五十,这时候我们就要学习哦。第二个重要的知识点 就是函数,就是我们在函数中啊,可以去增加一些变量,给函数增加些变量。那首先呢,我们来看一下,我在这里面啊,加了个 a, 加了个 b, 那我把这两个数夹在我们的括号里, a 就代表我们画的横向的这个长度,你可以理解为是这个长方形号横向的长,那所以说我这个 forward 是不是就可以写 a 了,那这边呢,我们就可以写 b 了, 那这时候如果我们再去调用我们的函数的时候,我们就需要给出两个值,比如说给个一百,逗号二十, 那你会发现我就画了一个这样的一个长方形,它会根据我们给出的数值去 a 画出对应大小的长方形。那好,那 现在呢,我们就开始画出我们的白色部分,首先第一步我们需要去把颜色和 my color, 干脆就像外套了, 颜色调成白色以后,我们只需要来到这个位置啊,一句话,圆圈的这个位置,我们用绿色圈表示好了这个位置,那这个位置他的坐标是多少? 这个同学们,我觉得相对比较快的,能算出来,对不对?首先 x 和上面这个白圈是一样的,负的一百八十五, 因为都是在最左边,那 y 呢?我觉得 y 也很容易算,因为我们的白色它是四十,也就是白色的宽度是四十,正好在中间,那上面就是二十了,所以 y 就是二十,也就是说 我们找到了绿圈,也就是我们画出诶白色的这个长方形它的位置来,我们给出我们的位置, t 点儿 go to x 等于负的一百八十五,而 y 呢,等于二十。我们看一下我们的小乌龟,嗯哦,果然在这里了哈,非常小的点到这个位置以后,我们就调用长方形, 看一下长是多少长,就是从左到右,也就是三百七十,宽呢是四十,我们刚才已经说过了,点击运行, 哇,这就画好了,非常快,是不是啊?还是函数好用。那好,那现在我们的任务就是画出竖着这一带,那竖着这一带我觉得 也不难,我们只要来到这个位置就好了,这个我们叫 be 的位置,那 be 的位置,它的 x, y 是多少呢?首先我觉得 y 很好找,因为 y 和我们的啊,左上角是一样的一百四十。 那 x 呢?因为左上角呢是负的一百八十五,而我们这个红色的这个正方形哈,它的宽度我们是知道的,是四十乘三到一百二十, 也就是我们往右边增加了一百二十,一百八十五加一百二十是多少?嗯,是六十五,也就是 x 档六十五。六十五是怎么来的,我们要知道哈,当然我们有多种算法,就是我们从一百八十五负的往右走了一百二十,也就是加了一百二十,那这时候我们就会得到 啊,六十五负的,哈哈,这是负的六十五哈,千万不要写错了哈,负的六十五, 那好,那到这个位置以后,我们再画长方形,首先呢,我们来到 t 的 go to 的 x 等于负的六十五,而 y 呢,等于一百四十。到这个位置以后,我们调用长方形,那这时候注意我们先画的还是横向的长度, 也就是四十,再画的竖着也就是二百八十,这时候我们需要把小的写在前面,也就是四十,然后二百八十来点击运行。 哇,这时候我们就完成了标准的丹麦国旗的绘制,在绘制好以后呢,我们可以使用 t hide turtle, 我们把乌龟藏起来来点击运行,那这时候我们是不是我们的右边的国旗除了颜色上有一点差别之外,就完全一样了。 好,那这个呢,就是我们如何去绘制一个标准的丹麦国企,那这里面我们最重要的就是认识了函数,是不是非常容易懂啊?就是我创造了一个工具,然后我们去使用工具做事情。 那这里有同学说啊,老师我可不可以不用函数啊?那肯定是没有问题的,你把调用函数这个哎,把上面复制过来就可以,但是为什么我们要使用函数呢? 使用函数这里面有一个非常重要的作用,就是我们这一组指令可以备用很多次。嗯,可以重复调用它,这样的话我们可以更 更少的指令完成这个任务。另外还有就是这个代码更容易被看懂。嗯,就是我这里画长方形,这里画长方形,是不是?而且还很容易被修改,哎,如果出错了,函数出错了,我只要改函数,下面都会发生变化, 同学们务必要认真理解函数。并且呢跟老师一起来绘制,再见。
粉丝5.8万获赞10.2万
伟大的标志,神奇的正五边形将其连接对角线,它构成了一个正五角形。神奇在他的五个角都是黄金三角形。另外,正五边形里的所有三角形 都是一比零点六一八黄金比例构成。不仅如此,从外到内,任意一条线路上的笔都等于黄金分割点。我称他为完美的形状。绘制一个长宽比为二比三的长方形。再见长方形画本长宽十五乘十个方格。 大五角星的中心位于该长方形的上午下午左五右十五角星的外界,人的直径六的单位程度。小五角星的中心点,第一颗位于上二下八,左十右五。第二个位于上四下六、左十二、右三。第三个位于 上七下三、左十二右上。第四课上九下一、左十右五之处。每颗小五角星外结缘的直径精为二,单位长度。 四个小五角星均有一角钱正对大五角星的中心点不知多三个就有了。大的长方笔为二比三的长方形, 加上网络上显示的 srgb 色彩,五星红旗标准绘制方法讲解完毕,我爱祖国,在此呼吁全民学习!