蟒蛇的绘制Python:
#PyhonDraw.py
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()
1、turtle的绘图窗体
1)turtle的一个画布空间最小单位是像素
2)turtle.setup(width,height,startx,starty)
-setup()调整绘图窗体在电脑屏幕中的布局,窗体大小及位置,4个参数中后两个可选,setup()函数不是必须的
2、turtle库的使用
1)turtle空间坐标体系:画布上以中心为远点的空间坐标系
-绝对坐标 以窗体中心为原点的坐标系 turtle.goto(x,y)
-海龟坐标 以海归的前进方向为正方向的坐标系
2)turtle角度坐标体系:画布上以空间x轴为0度的角度坐标系
-绝对角度 turtle.seth(angle)
-seth()只改变海龟行进方向但不行进;angle为绝对度数
-海龟角度
turtle.left(angle) turtle.right(angle)
3)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 | 番茄色 |
-RGB每色取值范围0-255整数或0-1小数,默认采用小数值,可切换成整数值
turtle的RGB色彩模式:turtle.colormode(mode)
若mode为1.0,RGB小数值模式;若mode为255,RGB整数值模式
3、turtle程序语法元素分析
1)库引用与import
——使用import保留字完成,采用<a>.<b>()编码风格
import<库名>
<库名>.<函数名>(<函数参数>)
——使用from和import保留字共同完成
from<库名>import<函数名>
from<库名>import*
<函数名>(<函数参数>)
注:第一种方法不会出现函数重名问题
——使用import和as保留字共同完成
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
2)turtle画笔控制函数
画笔操作后一直有效,一般成对出现
-turtle.penup() 别名 turtle.pu() 抬起画笔,海龟在飞行
-turtle.pendown() 别名 turtle.pd() 画笔落下,海龟在爬行
画笔设置后一直有效,直至下次重新设置
-turtle.pensize(width) 别名 turtle.width(width) 画笔宽度,海龟的腰围
-turtle.pencolor(color) color为颜色字符串或r,g,b值 画笔颜色,海龟在涂装
例:颜色字符串:turtle.pencolor("purple")
RGB的小数值:turtle.pencolor(0.63,0.13,0.94)
RGB的元组值:turtle.pencolor((0.63,0.13,0.94))
3)turtle运动控制函数
控制海龟行进:走直线&走曲线
-turtle.forward(d) 别名 turtle.fd(d) 向前行进,海龟走直线
d:行进距离,可以为负数
-turtle.circle(r,extent=None) 根据半径r绘制extent角度的弧形,走曲线
r:默认圆心在海龟左侧r距离的位置
extent:绘制角度,默认是360度整圆
例:turtle.circle(100) 在海龟当前位置以100像素为半径绘制一个圆形,没有第二个参数,默认绘制一个圆形
turtle.circle(-100,90) 默认原点在海龟的左边,负值原点在右边,角度为90,运行结果如下:
4)方向控制函数
控制海龟面对方向:绝对角度&海龟角度,只是改变方向但不行进
-绝对角度下,turtle.setheading(angle) 别名 turtle.seth(angle) 改变行进方向,海龟走角度
angle:改变行进方向,海龟在当前位置改变角度(绝对角度)
例:在原点的海龟使用turtle.seth(45),运行如下:
-海龟视角中,
-turtle.left(angle) 海龟向左转 turtle.right(angle) 海龟向右转
angle:在海龟当前行进方向上旋转的角度
5)循环语句
按照一定次数循环执行一组语句
——for <变量> in range (<函数名>)
<被循环执行的语句>
如果变量后的次数是固定的,<变量>表示每次循环的计数,0到<次数> -1
例:for i in range(5):
print("Hello:",i)
print输出的内容用逗号隔开,输出之后字符串之间会有空格
——range()函数 产生循环计数序列
range(N) 产生0到N-1的整数序列,共N个
range(M,N) 产生M到N-1的整数序列,共N-M个