turtle库概述
turtle(海龟)库是turtle绘图体系的python实现
-turtle绘图体系:1969年诞生,主要用于程序设计入门
-Python语言的标准库之一
-入门级的图形绘制函数库
标准库
Python计算生态 = 标准库 + 第三方库
-标准库:随解释器直接安装到操作系统中的功能模块
-第三方库:需要经过安装才能使用的功能模块
-库Library、包Package、模块Module,统称模块
turtle库原(wan)理(fa)
turtle(海龟)是一种真实的存在
-有一只海龟,其实在窗体正中心,在画布上游走
–走过的轨迹形成了绘制的图形
–海龟由程序所控制,可以变换颜色、改变宽度等
turtle绘图窗体布局
turtle的绘图窗体
turtle的setup()函数
turtle.setup(width,height,startx,starty)
-setup()设置窗体大小及位置
-4个参数中后2个可选
-setup()不是必须的
例如:turtle.setup(800,400,0,0),如下图
turtle.setup(800,400),如下图
turtle的空间坐标体系
绝对坐标
turtle.goto(x,y)
import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(100,100)
turtle.goto(0,0)
海龟坐标
turtle.fd(d)表示向海龟的正前方向运行
turtle.bk(d)表示向海龟的反方向运行
turtle.circle(r,range)表示以海龟当前位置左侧的某一个点为圆心进行曲线运行
turtle的角度坐标体系
绝对角度
turtle.seth(angle)改变海龟行进方向
seth()只改变方向但不行进
angle为绝对度数
例如 turtle.seth(45) turtle.seth(-135)
海龟角度
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩体系
由三色构成的万物色
– RGB是指红绿蓝三个通道的颜色组合
– 覆盖视力所能感知的所有颜色
– RGB每色取值范围0-255整数或0-1小数
默认采用小数值,可切换为整数值
turtle.colormode(mode)
– mode为1.0时,RGB为小数模式
– mode为255时,RGB为整数模式
turtle画笔控制函数
画笔操作后一直有效,一般成对出现
turtle.penup() 别名turtle.pu() 抬起画笔,海龟在飞行
turtle.pendown()别名turtle.pd()落下画笔,海龟在爬行
turtle.pensize(width)别名turtle.width(width)画笔宽度,海龟的腰围
turtle.pencolor(color)表示画笔颜色,海龟在涂装,color为颜色字符串或r,g,b值
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运动控制函数
即海龟坐标中的fd()和circle()
例如turtle.circle(100)
turtle.circle(-100,90)
turtle方向控制函数
turtle.seth() 即角度坐标体系中的绝对角度和海龟角度,详情参照上文
循环语句与range()函数
for和in保留字
range()
循环语句是按照一定次数循环执行一组语句
for <变量> in range(参数)
<被循环执行的语句>
– <变量>表示每次循环的计数,0到<次数>-1
例如: for i in range(5)
print(i)
输出结果为:0 1 2 3 4
Python蟒蛇绘制代码分析
import turtle as t #导入turtle库
t.setup(650,350,200,200) #设置窗体大小
t.penup() #起笔
t.fd(-250) #向后移动250像素
t.pendown() #放下画笔
t.pensize(25) #设置画笔宽度
t.pencolor("purple") #设置画笔颜色为紫色
t.seth(-40) #设置初始角度
for i in range(4)
turtle.circle(40,80)
turtle.circle(-40,80)#整个循环是Python蟒蛇的身体部分
turtle.circle(40,80/2)
turtle.fd(40) #Python蟒蛇的脖子部分
turtle.circle(16,180) #半圆形
turtle.fd(40*2/3) #继续向前进
turtle.done() #结束画图
暂无评论内容