python基本图形绘制
实例二 python蟒蛇绘制
代码部分:
import turtle as t
t.setup(650,350,200,200)
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
t.circle(40,80)
t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done
turtle库的使用
python语言的标准库之一
需知道:python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
库Library、包Package、模块Module统称模块
turtle的绘图窗体
turtle.setup(width,height,startx,starty)
- setup()设置窗体大小及位置
- 4个参数中后两个可选,默认在中间
- setup不是必须的
如下显示:
turtle空间坐标体系
-
绝对坐标
turtle.goto(x,y)
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202112330807-61114420.png"width = "500" height = "500" div align=center/> -
海龟坐标
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202112447383-1263630712.png"width = "500" height = "500" div align=center />
turtle.fd(d) //海龟向前行走d距离
turtle.bk(d) //海龟向后退d距离
turtle.circle(r,angle) //海龟以r为半径,旋转angle角度
turtle角度坐标体系
- 绝对角度
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202112858957-1184707426.png"width = "500" height = "500" div align=center />
turtle.seth(angle)
-
seth()改变海龟行进方向
-
angle为绝对度数
-
seth()只改变方向但不行进
如下显示:
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202113307835-352259197.png"width = "500" height = "500" div align=center/> -
海龟角度
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202113349598-1501827241.png"width = "500" height = "500" div align=center />
RGB色彩体系
turtle.colormode(mode) //默认采用小数值
由三种颜色构成的万物色
- RGB指红蓝绿三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围0-255整数或0-1小数
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202113910968-1654077625.png"width = "500" height = "500" div align=center />
turtle程序语法元素分析
库引用与import
- 库引用
扩充python程序功能的方式
使用import保留字完成,采用a.b() 编码风格
1.import<库名>
<库名>.<函数名>(<函数参数>) - import更多用法
2.使用from和import保留字共同完成
from<库名>import<函数名>
from<库名>import *
<函数名>(<函数参数>)
1和2的比较:第一种方法不会出现函数重名问题,第二种方法则会出现
3.使用import和as保留字共同完成
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
给调用的外联库关联一个更短的、更适合自己的名字
turtle画笔控制函数
画笔操作后一直有效,一般成对出现
- turtle.penup() 别名 turtle.pu()
抬起画笔,海龟在飞行 - turtle.pendown() 别名 turtle.pd()
落下画笔,海龟在爬行 - turtle.pensize(width) 别名 turtle.width(width)
画笔宽度,海龟的腰围 - turtle.pencolor(color) color为颜色字符串或r,g,b的值
画笔颜色,海龟在涂装
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202134803895-1440724170.png"width = "500" height = "500" div align=center />
turtle运动控制函数
控制海龟行进:走直线&走曲线
turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线
d:行进距离,可以为负数
turtle.circle(r,extent=None)
根据半径r绘制extent角度的弧形
r:默认圆心在海龟左侧r距离的位置
extent: 绘制角度,默认是360度整圆
<img src="https://img2018.cnblogs.com/blog/1345166/201902/1345166-20190202140035251-1352168002.png"width = "500" height = "500" div align=center />
turtle方向控制函数
控制海龟面对方向:绝对角度&海龟角度
turtle.setheading(angle) 别名 turtle.seth(angle)
改变行进方向,海龟走角度
angle:行进方向的绝对角度
turtle.left(angle) 海龟向左转
turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
循环语句与range()函数
for <变量> in range(<次数>):
<被循环执行的语句>
<变量>表示每次循环的计数,0到次数-1
range()函数
产生循环计数序列
如:range(N) 产生0到N-1的整数序列,共N个
range(M,N) 产生M到N-1的整数序列,共N-M个