python 根据数值大小更改线的颜色_第十二课:Python里的绘画师 turtle第一讲

点击下方链接中的课程目录:

课程学习入口    2020.7.2

直接学习中小学Python编程课,安装需要的学习软件。

上节课答案

例1---程序:

list0=[ 134.6, 127.8, 144.5, 157.3, 136.4, 143.2, 129.5, 153.4, 147.8, 137.6, 132.5, 157.2, 163.2, 158.6, 139.4, 154.3, 161.1, 123.4, 161.4, 153.2 ]a=len(list0)print('人员数量为:',a)list0.sort()print('身高由低到高排序为:',list0)print('按身高接近,分为四组:')list1=list0[0:5:1]print('第一组身高组成为:',list1)list2=list0[5:10:1]print('第二组身高组成为:',list2)list3=list0[10:15:1]print('第三组身高组成为:',list3)list4=list0[15:20:1]print('第四组身高组成为:',list4)

例2---程序:

list0=['宇智波斑','宇智波鼬','长门','自来也','鬼鲛','日向宁次','宇智波止水']list1=['旗木卡卡西','大蛇丸','洛克李','宇智波佐助','奇拉比','手鞠','勘九郎','秋道丁次','奈良鹿丸','漩涡鸣人','我爱罗','大和','雏田','春野樱','漩涡博人','巳月','纲手','兜','山中井野','志乃']list2=[]list3=[]for i in range(10,0,-1):    i=i-1    list2.append(list1[i])    del list1[i]    list1.reverse()    list3=list1[0:7:1]    del list1[0:7]    list1.extend(list3)    list3=[]list0.extend(list2)print('挑选出的人员是:',list2)print('   ')print('最后的参赛人员包括:',list0)

课程内容

     今天,我们来学习一个能够使程序指令以画图形式呈现出来的python模块---turtle。

python 根据数值大小更改线的颜色_第十二课:Python里的绘画师 turtle第一讲_第1张图片

     turtle模块,主要作用是图形绘制。而且,在我们下载使用的3.8版本的python官方网站编译器中,已经自带有很多有趣的例子;在课程视频中,会教大家如何寻找和运行这些例子程序。

     网络上也有很多简单或复杂的例子,大家可以搜索,模仿和练习。下面这个是小编自己制作的一个简单的例子:

哆啦A梦-如歌如画:  根据片尾曲画图

基础知识

     下面,我们学习第一部分turtle模块:

1. 背景设置

     画画,肯定要在一张纸上,而且要选择纸张的大小,颜色,甚至纸张的长宽与画桌长宽之间的比例,才能更好的画出一幅画。

1.1 turtle.screensize(width,height,color)

     用以设置画纸的三个要素:width(宽度),height(高度),color(颜色)。

     因为整个画框,在电脑桌面上呈现,是垂直于地面或电脑桌面的,所以用宽度,高度来形容画框的两条边长。颜色,是指整个画框内部的背景颜色,即画纸的颜色。

     经实测,电脑可以显示出的背景颜色有(这个总结的还算比较丰富,除了常见的红橙黄绿黑白等颜色外,其他颜色单词大家最好自己在软件上运行一下,观察一下效果,因为汉字翻译和大家的实际颜色经验感觉会有不小的差距。运行后,最好将自己不熟悉的颜色自己总结一下,描绘成自己容易理解和记忆的):

white,  black,  green,  blue,  red

brown,  grey,  purple,  orange,  yellow

violet,  coral,  lightcoral,  darkorange,  gold

palegreen,  cyan,  paleturquoise,  skyblue,  plum

pink,  hotpink  

1.2 turtle.setup(width,height,startx,starty)

    width,height : 当数值为整数时,代表像素;当数值为小数时,代表画框两边与电脑屏幕两边的相对比例。

    startx,starty:程序运行时,画框的左上角开始出现在屏幕上的位置,也就进一步决定了整个画框出现在电脑屏幕的哪个位置。

2. 画笔设置

     进行绘图时,画笔有很多关键性质需要设置,例如画笔的粗细,颜色,画画时的速度等等。

2.1 turtle.shape( )

     画笔的图标可以是多种形状,例如乌龟(turtle),等腰三角形(arrow), 长方形(circle), 正方形(square), 等边三角形(triangle), 指向箭头(classic)。

2.2 turtle.pensize( )

     设置画笔的粗细,直接填入数字即可。从一开始,数字越大,画笔线条越粗,到几百的时候,甚至可以占据屏幕的一半。

2.3 turtle.pencolor( )

     设置画笔线条的颜色,例如,画一个正方形,此命令决定正方形四条边的颜色。

     需要什么颜色,以字符串形式输入可用颜色单词即可。输入形式,即颜色单词两边加单引号。可用颜色,可以参考上方背景颜色的单词举例。

2.4 turtle.speed( ) 

     设置画笔绘图时的移动速度,直接填入数字即可。

     速度值可选范围:1~10 。

3. 运动设置

     很多运动命令,需要注意,例如,前进,后退,左转若干度数,右转若干度数,等等。

3.1 turtle.penup( )

     此命令不需要填写参数,意为抬起画笔。就像我们在纸上画图时,抬起手中的画笔,离开纸张一定的距离。这时候,往任何方向移动任何距离,都不会在画纸上留下痕迹,因为纸笔是分开的。

3.2 turtle.goto(x,y)

     设置画笔的所在坐标,直接填入纵横两个坐标值即可,与数学中的坐标系相同。

     程序在开始运行时,默认画笔位于原点,即坐标为(0,0).根据设置的画布大小,也就决定了x轴,y轴在屏幕上的可见和可用长度数值。

     当设置的坐标不是原点时,画笔就会从原点移动至该坐标。如果此时画笔是抬起的(turtle.penup( )),则移动过程中不会留下路径痕迹;如果此时画笔是落在纸面上的(turtle.pendown( )),则移动过程中会留下路径痕迹。

3.3 turtle.pendown( )

     此命令意为落下画笔。即,画笔与画纸是接触的,此时往任何方向移动任何距离,都会留下画笔的痕迹。

3.4 turtle.forward( )

     输入数值,画笔向前移动相应距离,但不要超过画布大小。

3.5 turtle.backward( )

     输入数值,画笔向后移动相应距离,但不要超过画布范围。

3.6 turtle.right( )

     直接输入数字,画笔向右旋转相应度数。

     画笔本身是有前后左右之分的,例如不做任何设置的一个箭头形状的画笔,它将会存在于原点位置,它的前方指向x正半轴,后方指向x负半轴,左方指向y正半轴,右方指向y负半轴。

3.7 turtle.left( )

    直接输入数值,画笔向左旋转相应度数。

练习一:

     以下是对知识的基础使用练习。

import turtle as t #用t代表,单个字母写程序更加简便t.screensize(800,600,'skyblue')t.setup(width=0.9,height=0.9,startx=0,starty=0)t.pencolor('hotpink')t.shape('turtle')t.speed(3)t.pensize()t.forward(5)t.right(90)t.pensize(1)t.forward(10)t.right(90)t.pensize(2)t.forward(15)t.right(90)t.pensize(3)t.forward(20)t.right(90)t.pensize(4)t.forward(25)t.right(90)t.pensize(5)t.forward(30)t.right(90)t.pensize(6)t.forward(35)t.right(90)t.pensize(7)t.forward(40)t.right(90)

     可以试着更改上面程序中的画布大小,背景颜色,画笔颜色,粗细,运动速度,转弯角度等要素,画出自己喜欢的图画。

     我们也可以用for语句改写上面的程序,不仅会更加简易,而且会出现很好的视觉效果:

import turtle as tt.screensize(1400,1000,'skyblue')t.setup(width=0.9,height=0.9,startx=0,starty=0)t.pencolor('hotpink')t.shape('turtle')t.speed(7)for i in range(25):    t.pensize(i)    t.forward(15*i)    t.right(90)

练习二:

     用turtle画一次函数和二次函数的图像。

import turtle as tt.screensize(1000,800,'grey')t.setup(width=0.7,height=0.9,startx=100,starty=0)t.pensize(7)t.speed(3)t.pencolor('green')for i in range(400):    t.goto(i,i**2*(1/500))t.penup()t.goto(0,0)t.pendown()t.pencolor('hotpink')for i in range(200):    t.goto(i,i)

作业:

   画出自己喜欢的图形,至少画三幅。

     有任何疑问请联系邮箱[email protected]

     欢迎大家将自己觉得有趣的作品发送到我的邮箱,请附上原文件和简要说明,以及自己的名字或昵称等相关信息,公众号会选取后,发文展示。

a151f2a279af312f3a529d04207e45af.png

python 根据数值大小更改线的颜色_第十二课:Python里的绘画师 turtle第一讲_第2张图片

扫码关注

传播科学

点个在看,分享到朋友圈

你可能感兴趣的:(python,根据数值大小更改线的颜色,外星人颜色python练习)