少儿学python技术文章
这篇文章主要知识点是关于python、四色螺旋线、python儿童版的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书
一个四色螺旋线
让我们来考虑一下算法(algorithm)。算法就是一系列的步骤,它可以将单色的螺旋线变为4色的螺旋线。大多数的步骤和之前的螺旋线程序中相同,但是,这里还增加了一些调整:
(1)导入turtle模块并且设置一个海龟;
(2)告诉计算机应该使用何种颜色;
(3)设置一个循环,绘制螺旋线中的100条线段;
(4)为螺旋线的每一边选取一种不同的钢笔颜色;
(5)向前移动海龟以绘制每一边;
(6)将海龟向左转,以准备好绘制下一边。
首先,我们需要颜色名称的一个列表,而不是单个的颜色,因此,我们要创建一个名为colors的列表变量并且在列表中放置4种颜色,如下所示。
colors = [“red”, “yellow”, “blue”, “green”]
这个4种颜色的列表,将会针对正方形的每一边给出一种颜色。注意,我们将颜色的列表放在了方括号“[”和“]”之间。这里要确保引号中的每一种颜色名都像我们在第1章中打印出来的单词一样,因为这些颜色名都是字符串(string)或文本值,这是我们稍后要传递给pencolor函数的值。正如前面所提到的,我们使用一个名为colors的变量来存储4种颜色的列表。因此,任何时候,当想要从列表中获取颜色的时候,我们都要使用colors变量来表示钢笔的颜色。记住,变量存储的值是变化的,这正如同其名称一样,变量嘛。
我们需要做的下一件事情是,每次遍历绘制循环的时候修改钢笔颜色。为了做到这一点,我们需要将t.pencolor()函数移入到for循环下的一组指令之中,还需要告诉pencolor函数,我们想要使用列表中的哪一种颜色。
我们输入如下的代码并运行它。
ColorSquareSpiral.py
import turtle t = turtle.Pen() colors = [“red”, “yellow”, “blue”, “green”] for x in range(100): t.pencolor(colors[x%4]) t.forward(x) t.left(91)
4种颜色的列表起作用了,我们在这个运行的示例中看到了它们(如图2-5所示)。到目前为止,一切还不错。
pencolor函数中唯一的新增部分是(colors[x%4])。这条语句中的x和我们在程序中其他地方所使用的x是同一个变量,因此,x将持续从0~99增加,就像我们前面所见到的那样。圆括号中的colors变量名告诉Python,从我们在程序前面所添加的、名为colors的颜色名称列表中选取一种颜色。
[x%4]告诉Python我们将使用colors列表中的前4种颜色,即编号从0~3的颜色并且每当x变化的时候就遍历它们。在这个例子中,我们的颜色列表只有4种颜色,因此,我们需要一次又一次地遍历这4种颜色。
colors = [“red”, “yellow”, “blue”, “green”] 0 1 2 3
[x%4]中的“%”叫作模除操作符(modulo operator),表示一次除法运算中的余数(remainder)(5÷4商1余1,因此,5可以包含4一次并且还剩下1;6÷4余2,以此类推)。当我们想要遍历列表中一定数目的项时,例如我们对4种颜色列表所做的操作,模除操作符很有用。
在100步中,colors[x%4]将遍历4种颜色(0、1、2和3,分别表示红色、黄色、蓝色和绿色)整整25次。如果我们有时间(并且有一个放大镜),可以数一数图2-5中有25条红色的、25条黄色的、25条蓝色的和25条绿色的线段。第1次遍历绘制循环的时候,Python使用列表中的第一种颜色,红色;第2次遍历的时候,它使用黄色,以此类推。第15次遍历循环的时候,Python又回过头来使用红色,然后是黄色,等等;每通过循环4次之后,总是又回过头来使用红色。
以上就是本次给大家分享的关于少儿学python的全部知识点内容总结,大家还可以在下方相关文章里找到一瓦少儿编程 、 少儿编程无锡招聘 、 太原少儿编程教育 、 南宁少儿编程招聘 、 儿童入门学计算机编程 、 等少儿学python相关文章进一步学习,感谢大家的阅读和支持。
上一篇:教孩子用python添加颜色
下一篇:python修改背景颜色
展开 +
收起 -
Copyright 2018-2021 www.xz577.com 码农之家
版权投诉 / 书籍推广:520161757@qq.com
Python的matplotlib绘图如何修改背景颜色的实现
在主图中背景颜色不知道怎么改,plt.plot()中没有axisbg参数。 但是子图可以对plt.subplot的参数做修改,下面是对子图的背景颜色修改代码 import matplotlib.pyplot as pltimport numpy as np # Fixing random state for reproducibilitynp.random.seed(19680801) dt = 0.01t = np.arange(0, 30, dt)nse1 = np.random.randn(len(t)) # white noise 1nse2 = np.random.randn(len(t)) # white noise 2s1 = np.sin(2 * np.pi * 10 * t) + nse1s2 = np.sin(2 * np.pi * 10 * t) + nse2s3 = np.sin(2 * np.pi * 10 * t) + nse1s4 = np.sin(2 * np.pi * 10 * t) + nse2 fig= plt.figure(1) # 创建图表1axs0=plt.subplot(221,axisbg='#FFDAB9') #在图标1中创建子图axs0.plot(t, s1) #横轴与纵轴数据axs0.set_xlim(0, 2) #限制x轴的取值范围axs1=plt.subplot(222,axisbg='#7FFF00')axs1.plot(t, s2)axs1.set_xlim(0, 2)axs2=plt.subplot(223,axisbg='#FF7F50')axs2.plot(t, s3)axs2.set_xlim(0, 2)axs3=plt.subplot(224,axisbg='#A9A9A9')axs3.plot(t, s4)axs3.set_xlim(0, 2) plt.show() 以上就是本……
python中如何给图形填充颜色
使用Turtle不只可以画线条,也可以将画出的封闭线条进行填充。 -设定填充色:fillecolor(r, g, b) -开始填充:begin_fill() -结束填充:end_fill() 画一组随机分布,随机大小和不同色调的心形。先初始化一个填充颜色。然后,在画每个图形绘制之前使用begin_fill()以及绘制之后使用end_fill()。这样就能得到一个填充效果。 相关推荐:《Python视频教程》 import turtle as timport random as rdef pink(): color = (1, r.random(), 1) return colordef randomrange(min, max): return min + (max- min)*r.random()def moveto(x, y): t.penup() t.goto(x, y) t.pendown()def heart(r, a): factor = 180 t.seth(a) t.circle(-r, factor) t.fd(2 * r) t.right(90) t.fd(2 * r) t.circle(-r, factor)t.setup(800, 800, 200, 200)t.speed(9)t.pensize(1)t.penup()for i in range(20): t.goto(randomrange(-300, 300), randomrange(-300, 300)) t.begin_fill() t.fillcolor(pink()) heart(randomrange(10, 50), randomrange(0, 90)) t.end_fill()moveto(……
Python怎么在终端里输出彩色字体
python终端如何输出彩色字体 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。 书写格式: 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。 对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾 数值表示的参数含义: 常见开头格式: 示例: 以上就是Python怎么在终端里输出彩色字体的详细内容,更多请关注码农之……
使用PIL(Python-Imaging)反转图像的颜色方法
利用PIL将图片转换为黑色与白色反转的图片,下面笔者小白介绍如何实现。 解决方案一: from PIL import Imageimport PIL.ImageOps #读入图片image = Image.open('your_image.png')#反转inverted_image = PIL.ImageOps.invert(image)#保存图片inverted_image.save('new_name.png') 注意:“ImageOps模块包含多个'ready-made'图像处理操作,该模块有些实验性,大多数操作符只适用于L和RGB图像。” 解决方案二: 如果图像是RGBA透明的,参考如下代码。 from PIL import Imageimport PIL.ImageOps image = Image.open('your_image.png')if image.mode == 'RGBA': r,g,b,a = image.split() rgb_image = Image.merge('RGB', (r,g,b)) inverted_image = PIL.ImageOps.invert(rgb_image) r2,g2,b2 = inverted_image.split() final_transparent_image = Image.merge('RGBA', (r2,g2,b2,a)) final_transparent_image.save('new_file.png')else: inverted_image = PIL.ImageOps.invert(image) inverted_image.save('new_name.png') 解决方案三: 注:对于使用……