参考:大学生mooc 北京理工大学的python程序与设计课程
蟒蛇绘制代码如下:
#pythonDraw.py
importturtle
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()
绘制图形如下:
下面简单的讲解下这段代码:
一、python的库引用
库引用,使用 imort方式来扩充python的功能,具体用法有三种:
1、import <库名>
<库名>.<函数名>(函数参数)
a.b的编码风格
这样做,虽然要写很多库名. 但是可以防止函数重名。
2、from <库名> import <函数名> 或
from <库名> import *
<函数名>(函数参数)
就不需要再用库名.的方式,直接可以使用函数名。
3、import <库名> as <库别名>
<库别名>.<函数名>(函数参数)
给调用的外部库关联一个更短的,更适合自己的别名。
turtle海龟库,是turtle绘图体系的python实现,1969年诞生,主要用于程序设计入门。随解释器直接安装到操作系统中的功能模块。turtle,为一只海龟,其实在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以改变其颜色,改变其宽度。
二、绘制窗体
1、绘图窗体:
turtle.setup(width,height,startx,starty)
设置窗体的大小和位置,前两个参数为窗体的宽和高,后两个参数可选,为窗体相对于屏幕左上角(0,0)的相对位置,如果没有设置,则在屏幕正中央。setup为可选函数,当没有设置窗体时,开始绘制海龟轨迹时,会有一个默认大小和位置的窗体。
三、坐标体系
1、turtle空间坐标体系:
绝对坐标,(0,0)为屏幕正中心。turtle.goto(x,y) 任何位置的海龟,到达(x,y)位置。
海龟坐标,从海龟自身的运动来看,前后左右等。turtle.fd(d)向前运行,turtle.bk(d)向后运行,turtle.circle(r,angle),以海龟当前位置正左侧的r半径的一个点为圆心,做angle角度的曲线运动。turtle.fd(100)和turtle.bk(-100)是等价的。
2、turtle角度坐标体系:
turtle.seth(angle),改变海龟行进方向,只改变方向但不行进,angle为绝对度数。如:turtle.seth(45) turtle.seth(-135)。另外还有以海龟前进方向的左右角度,turtle.left(angle),turtle.right(angle)。其中left(45)与right(-45)相同。
四、RGB色彩体系
RGB色彩体系,取值范围0-255,或者0-1小数,turtle.colormode(mode),mode为1.0,为RGB小数值模式,mode为255,为RGB整数值模式。
五、画笔控制函数
turtle.penup() 抬起画笔,海龟在飞行,不绘制图案;
turtle.pendown() 落下画笔,海龟在爬行,开始绘制;
turtle.pensize(width) 或者turtle.width(width) 画笔宽度,海龟的腰围;
turtle.pencolor(color) 画笔颜色,海龟在涂装,color为颜色字符串或者rgb的值,pencolor(colorstring),pencolor(r,g,b),pencolor((r,g,b))。可以为pencolor("blue"),pencolor((0.1, 0.12, 0.3)),pencolor(0.1,0.12,0.3)
六、运动控制函数
fd(),bk(),circle()
turtle.forward(d),别名为turtle.fd(d),向前行进,海龟走直线,d为行进距离,可以为负数。
turtle.circle(r, angle=None),根据半径r绘制angle角度的弧形,r默认圆心在海龟左侧,r距离的位置。angle为绘制角度,默认为360度。如果r为负数,则圆心在海龟的右侧。
七、方向控制函数
turltle.setheading(angle),别名为turtle.seth(angle) 改变海龟的行进方向,海龟的角度。angle为行进方向的绝对角度。
trutle.left(angle), turtle.right(angle) 海龟向左转,海龟向右转,angle为海龟行进方向的旋转角度。
八、循环语句
for i in range(N) 产生0到N-1的整数序列,共N个
range(5) :0,1,2,3,4
range(M,N) 产生M到N-1的整数序列。