第四章 python的turtle库的运用

咱们能够尝试用python的自带turtle库绘制一条蟒蛇python

首先咱们设计一下蟒蛇的基本形状shell

咱们先把这段蟒蛇绘制的实例代码贴出来,各位能够在本身的本地运行一下看看效果,而后咱们再继续分析代码:函数

 1 #PythonDraw.py
 2 import turtle  3 turtle.setup(650, 350, 200, 200)  4 turtle.penup()  5 turtle.fd(-250)  6 turtle.pendown()  7 turtle.pensize(25)  8 turtle.pencolor("purple")  9 turtle.seth(-40) 10 for i in range(4): 11     turtle.circle(40, 80) 12     turtle.circle(-40, 80) 13 turtle.circle(40, 80/2) 14 turtle.fd(40) 15 turtle.circle(16, 180) 16 turtle.fd(40 * 2/3) 17 turtle.done()

程序关键:import保留字,引入了一个绘图体系,名字叫:turtle,就是海龟编码

学会海龟绘图体系以后,咱们能够完成更加复杂的绘制:五角星绘制、国旗绘制、机器猫绘制spa

掌握了绘制一条线的方法,就能够绘制整个世界操作系统

 

turtle库概述:设计

turtle库的turtle绘图体系的python实现3d

turtle绘图体系:1969年诞生,主要用于程序设计入门code

        python的标准库之一,入门级的图形绘制函数库orm

python的计算生态:python标准库+第三方库

标准库:随解释器直接安装到操做系统的功能模块

第三方库:须要通过安装才能使用的功能模块

 

turtle的原理:

turtle是一种真实的存在,有一只海龟,在窗体的正中心,在画布上游走

走过的轨迹造成了绘制的图形

海龟由程序控制,能够变换颜色、改变宽度等

 

turtle的绘图窗体:

turtle的一个画布空间,最小单位是像素

turtle的绘图窗体:

turtle的绘图窗体:

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

注意三点:

一、setup设置船体的大小及位置

二、4个参数后两个参数可选

三、setup不是必须的

 

turtle空间坐标体系

绝对坐标:

1 turtle.goto(x,y)

这句是经常使用语法,让海龟爬

咱们试试以下的代码,而后看看运行结果

1 import turtle 2 turtle.goto( 100, 100) 3 turtle.goto( 100,-100) 4 turtle.goto(-100,-100) 5 turtle.goto(-100, 100) 6 turtle.goto(0,0)

咱们运行以后看看效果,以下图所示:

海龟的空间坐标体系

turtle.circle(r,angle),海龟左侧圆心,半径为r画圆

1 import turtle 2 turtle.circle(100,90) 3 turtle.done()

动手试试上述代码,会加深对circle函数的理解

 

下面咱们了解一下海龟库的角度坐标体系

turtle.seth(angle)

一、seth() 改变乌龟行进方向

二、angle为绝对角度

三、seth只改变方向但不行进

海龟也有相对角度

1 turtle.left(angle) 2 turtle.right(angle)

咱们来试试以下代码的绘制效果,来体会Turtle的角度体系

1 import turtle 2 turtle.left(45) 3 turtle.fd(150) 4 turtle.right(135) 5 turtle.fd(300) 6 turtle.left(135) 7 turtle.fd(150) 8 turtle.done()

绘制结果以下图所示:

下面咱们涉及一下RGB色彩体系

万物色均可以由三种颜色构成

RGB指的是红绿蓝三个通道的颜色组合

覆盖视力所能感知的全部颜色

RGB每色取值范围是0-255或0-1小数

经常使用的RGB色彩:

英文名称 RGB整数值 RGB小数值 中文名称
white 255,255,255 1,1,1 白色
yellow 255,255,0 1,1,0 黄色
magenta 255,0,255 1,0,1 洋红
cyan 0,255,255 0,1,1 青色
blue 0,0,255 0,0,1 蓝色
black 0,0,0 0,0,0 黑色
seashell 255,245,238 1,0.96,0.93 海贝色
gold 255,215,0 1,0.84,0 金色
pink 255,192,203 1,0.75,0.80 粉红色
brown 165,42,42 0.65,0.16,0.16 棕色
purple 160,32,240 0.63,0.13,0.94 紫色
tomato 255,99,71 1,0.39,0.28 番茄色

turtle的RGB色彩模式

默认采用小数值,能够切换成整数值:

1 turtle.colormode(mode) 2 #1.0:RGB小数值模式
3 #255:RGB整数值模式

turtle程序语法元素分析:

库引用:

扩充python程序功能的方式

用import保留字完成,采用<a>.<b>()编码风格

import <库名>

<库名>.<函数名>(<函数参数>)

 1 #PythonDraw.py
 2 import turtle  3 turtle.setup(650, 350, 200, 200)  4 turtle.penup()  5 turtle.fd(-250)  6 turtle.pendown()  7 turtle.pensize(25)  8 turtle.pencolor("purple")  9 turtle.seth(-40) 10 for i in range(4): 11      turtle.circle(40, 80) 12      turtle.circle(-40, 80) 13 turtle.circle(40, 80/2) 14 turtle.fd(40) 15 turtle.circle(16, 180) 16 turtle.fd(40 * 2/3) 17 turtle.done()

但是,超级多的turtle,好烦,咋办????

import的更多用法:

使用from和import保留字共同完成

from <库名> import <函数名>

from <库名> import *

<函数名>(<函数参数>)

 1 #PythonDraw.py
 2 from turtle import *
 3 setup(650, 350, 200, 200)  4 penup()  5 fd(-250)  6 pendown()  7 pensize(25)  8 pencolor("purple")  9 seth(-40) 10 for i in range(4): 11     circle(40, 80) 12     circle(-40, 80) 13 circle(40, 80/2) 14 fd(40) 15 circle(16, 180) 16 fd(40 * 2/3) 17 done()

这么好的方法咋不早说呢???

由于第一种方法不会出现函数重名问题,而第二种方法会出现函数重名问题

import的更多用法

使用import和as保留字共同完成

import <库名> as <库别名>

<库别名>.<函数名>(<函数参数>)

至关于给库起个简单的名字,如:狗娃

 1 #PythonDraw.py
 2 import turtle as t  3 t.setup(650, 350, 200, 200)  4 t.penup()  5 t.fd(-250)  6 t.pendown()  7 t.pensize(25)  8 t.pencolor("purple")  9 t.seth(-40) 10 for i in range(4): 11      t.circle(40, 80) 12      t.circle(-40, 80) 13 t.circle(40, 80/2) 14 t.fd(40) 15 t.circle(16, 180) 16 t.fd(40 * 2/3) 17 t.done()

这个方法比较推荐,也简洁了代码书写。

下面咱们来分析下面这段代码的画笔控制函数

1 turtle.penup() 2 turtle.fd(-250) 3 turtle.pendown() 4 turtle.pensize(25) 5 turtle.pencolor("purple")

画笔操做后一直有效,通常成对出现

turtle.penup() #抬起画笔,海龟在飞 别名:turtle.pu()

turtle.pendown() #方向画笔,海龟在爬 别名:turtle.pd()

画笔设置后一直有效,直到下次从新设置

turtle.pensize(width) 别名:turtle.width(width)

  画笔宽度,也就是海龟的腰围

turtle.pencolor(color) color为颜色字符串或者RGB值

  画笔颜色,海龟在涂装

pencolor(color)中的color参与能够有三种形式

一、颜色字符串 :turtle.pencolor("purple")

二、RGB的小数值:turtle.pencolor(0.63,0.13,0.94)

三、RGB的元组值:turtle.pencolor((0.63,0.13,0.94))

turtle的运动控制函数

控制海龟行进:走直线&走曲线

turtle.forward(d)  别名turtle.fd(d)

向前行进,海龟走直线

d:行进距离,能够为负数

turtle.circle(r,extend=None)

  根据半径r绘制extend角度的弧形

r:默认圆心在海龟左侧r距离的位置

extent:绘制角度,默认360度整圆

 

方向控制函数

turtle.seth(45)

turtle.seth(-135)

控制海龟面对的方向:绝对角度和相对角度

turtle.left(angle)  海龟向左转

turtle.right(angle)  海龟向右转

angle:在海龟当前行进方向上旋转的角度

循环语句与range()函数

1 for i in range(4): 2     tirtle.circle(40,80) 3     tirtle.circle(-40,80)

按照必定次数循环执行一组语句

for <变量> in range(<次数>):

  <被循环执行的语句>

<变量>表示每次循环的计数,0到<次数>-1

 

range()函数:产生循环计数序列

range(N) 产生0到N-1的整数序列,共N个

range(M,N)产生M到N-1的整数序列,共N-M个

相关文章
相关标签/搜索