#PythonDraw.py import turtle #引入了一个绘图库(海归库) turtle.setup(650,350,200,200) #设置一个窗体 turtle.penup() #将画笔抬起 turtle.fd(-250) #让海龟倒退行进250个像素点,由于海龟处于飞起状态画布不留效果 turtle.pendown() #将画笔放下 turtle.pensize(25) #设置画笔的宽度为25个像素 turtle.pencolor("purple") #画笔颜色设为purple turtle.seth(-40) #将海龟方向改为绝对的-40度方向 for i in range(4): #循环4次绘制蟒蛇半径为40个像素角度分别为80度和-80度 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() #程序运行后不会自动退出需要手动关闭窗口,去掉这条语句程序运行结束会自动退出
一、turtle基本情况
turtle(海归)库是turtle绘图体系的Python实现
-turtle绘图体系:1969年诞生,主要用于程序设计入门
-Python语言的标准库之一
Python计算生态 = 标准库 + 第三方库
标准库:随解释器直接安装到操作系统中的功能模块
第三方库:需要经过安装才能使用的功能模块
-入门级的图形绘制函数库
二、turtle绘图窗体布局
turtle.setup(width,heigth,startx,starty)
startx、starty不给值默认在正中心
-setup()设置窗体大小及位置
-4个参数中后两个可选
-setup()不是必须的
三、turtle空间坐标体系
1、绝对坐标
海龟刚开始位于画布的正中间坐标为(0,0)
turtle.goto(x,y) #海龟从当前位置位移到(x,y)
2、海龟坐标体系
从海龟自身运动来讲它看到的是什么样的,对于海龟来讲它的当前行进方向无论是朝向哪个角度都叫前进方向,反方向是后退方向。
turtle.fd(d) #向海龟的正前方向运行
turtle.bk(d) #向海龟的反方向运行
参数d为移动像素数
turtle.circle(r,angle) #以海龟当前位置左侧的某一个点为圆心进行曲线运行
四、turtle的角度坐标体系
1、绝对角度
turtle.seth(angle)
-seth()改变海龟进行方向
-seth()只改变方向但不行进不绘制任何信息
-angle 为绝对度数
2、海龟角度
turtle.left(angle) #向左改变angle角度
turtle.right(angle) #向右改变angle角度
五、RGB色彩体系
由三种颜色构成的万物色
-RGB指红蓝绿三个通道的颜色组合
-覆盖视力所能感知的颜色组合
-RGB每色取值范围0-255或0-1小数
常见RGB色彩
1、默认采用小数值,可切换为整数值
turtle.colormode(mode)
-1.0:RGB小数值模式
-255:RGB整数值模式
六、库引用
扩充Python程序功能的方式
1、-使用import保留字完成,采用<a>.<b>()编码风格
import <库名>
<库名>.<函数名>(<函数参数>)
2、-使用from和import保留字共同完成
from <库名>import<函数名>
from <库名> import* #使用这两种方式在调用函数时就不需要加库名了,直接用函数名加参数调用。
<函数名>(<函数参数 >)
使用第一种方法不会出现函数重名的问题,第二种方法可能会出现函数名与程序员自定义的函数重名的问题。
3、-使用import和as保留字共同完成(这种方法代码量较少也防止了函数重名的情况)
import<库名>as<库别名>
<库别名>.<函数名>(<函数参数>)
-给调用的外部库关联一个更短、更适合自己的名字对编写程序来讲会带来很多的便利。
七、turtle画笔控制函数
画笔操作后一直有效,一般成对出现
-turtle.penup() 别名 turtle.pu() #抬起画笔,不在画布上形成图案
-turtle.pendown() 别名 turtle.pd() #放下画笔,在画布上形成图案
-turtle.pensize(width) 别名 tutle.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.16,0.94))
八、turtle运动控制函数
控制海龟行进方向:走直线或者走曲线
-turtle.forward(d) 别名 turtle.fd(d)
向前行进,海龟走直线
-d:行进距离,可以为负数
-turtle.circle(r,extent=None)
根据半径r绘制extend角度的弧形
-r:半径,默认圆心在海龟左侧r距离的位置
-extend:绘制角度,默认是360度整圆
九、turtle方向控制函数
控制海龟面对方向:绝对角度和海龟角度
1、绝对角度
-turtlr.sethending(angle) 别名 turtle.seth(angle)
改变行进方向,海龟前进的角度
-angle:将海龟当前方向改变为某一个绝对角度
2、海龟角度
-turtle.left(angle) #海龟向左转
-turtle.right(angle) #海龟向右转
-angle:在海龟当前方向上向左或者向右旋转的角度
注意:方向控制函数只改变海龟行进方向并不在画布上留下痕迹,如果需要海龟行动需要调用运动控制函数。
十、循环语句与range()函数
循环语句指按一定次数循环执行的一组语句
常用的方式
for <变量> in range(<参数>) #range的参数就是循环的次数
<被循环执行的语句>
-<变量>表示每次循环的计数,0到<次数>-1
for i in range(5)
print("Hello:",i) #print输出语句加,可以输出空格
'''输出
Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4 '''
range( ) 函数
产生循环计数序列的函数
-range(N)
产生0到N-1的整数序列,共N个
-range (M,N)
产生从M到N-1的整数序列,共N-M个