实例二:使用turtle库进行蟒蛇绘制
2-1
#蟒蛇绘制.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)
2-2
#蟒蛇绘制.py
from turtle import *
setup(650, 350, 200, 200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
seth(-40)
for i in range(4):
circle(40, 80)
circle(-40, 80)
circle(40, 80/2)
fd(40)
circle(16, 180)
fd(40 * 2/3)
2-3
#函数封装蟒蛇绘制.py
import turtle
def drawSnake(radius, angle, length):
turtle.seth(-40)
for i in range(length):
turtle.circle(radius, angle)
turtle.circle(-radius, angle)
turtle.circle(radius, angle/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40* 2/3)
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
drawSnake(40, 80, 4)
turtle.done()
turtle库介绍
-turtle(海龟)库是turtle绘制体系的python实现,是入门级的图形绘制函数库
标准库和第三方库
python计算生态=标准库+第三方库
-标准库:随解释器直接安装到操作系统的功能模块
-第三方库:需要经过安装才能使用的功能模块
-库Library,包package,模块module,统称为模块
turtle的绘图窗体
-turtle.setup(width,height,startx,starty)
-setup()设置启动窗体的位置及大小,不是必须函数
turtle空间坐标系
-turtle.goto(x,y)
turtle.fd(d)向海龟正前方行进
turtle.circle(r,angle)以海龟当前位置左侧某点为圆心进行曲线运行
turtle.bk(d)向海龟的反方向行进
turtle角度坐标体系
-x轴表示0度或360度,y轴表示90度或-270度
-turtle.seth(angle)改变海龟行进方向,不在图像中绘制任何信息,只改变方向但不行进
-turtle.left(angle)或turtle.right()分别让海龟向左或向右改变运行方向
RGB色彩模式
-RGB表示红绿蓝三个通道的颜色组合
-覆盖视力所能感知的所有颜色
-RGB每色取值范围0-255整数或0-1小数
-turtle.colormode(mode)
库引用
-扩充python程序功能的方式
-使用import保留字完成,采用.()编码风格。
具体方法 import <库名>
<库名>.<函数名>(<函数参数>)
import更多用法
-使用from和import保留字共同完成
from <库名> import <函数名>
from <库名> import*
<函数名>(<函数参数>)
-使用import和as保留字共同完成
import <库名> as <库别名>
<库别名>.<函数名>(<函数参数>)
例如:import turtle 可写为 import turtle as t(将turtle缩写为t代码更加简单)
画笔控制函数
-画笔操作后一直有效,一般成对出现
turtle.penup() 别名 turtle.pu() [抬起画笔,海龟在飞行,不形成图形]
turtle.pendown() 别名 turtle.pd() [画笔落下,海龟在爬行]
turtle.pensize(width) 别名 turtle.width(width) [画笔宽度,海龟的腰围
turtle.pencolor(color) color为颜色字符串或r,g,b值 [画笔颜色,海龟在涂装]
-turtle.pencolor(color) 中color参数有三种形式
-颜色字符串:turtle.pencolor("green") green是字符串形式而且需要小写
-RGB的小数值:turtle.pencolor(0.63,0.13,0.94) 直接给出RGB三个通道的数值
- RGB的元组值:turtle.pencolor((0.63,0.13,0.94)) 元组值指将小数或整数值形成一个独立的元素,即在数值外加一组括号
turtle运动控制函数
-控制海龟行进,走直线&走曲线
-turtle.circle(r.extent=None)
-根据半径r绘制extent角度弧形
-r:默认圆心在海龟左侧r距离的位置
turtle方向控制函数
-控制海龟面对方向:绝对角度&海龟角度
-turtle.setheading(angle) 别名 turtle.seth(angle)
-angle:改变行进方向,海龟走角度
-turtle.left(angle) 海龟向左转
-turtle.right(angle) 海龟向右转
-angle:在海龟当前行进方向上旋转的角度
循环语句
-按照一定次数循环执行一组语句
-for<变量> in range(<参数>)
<被循环执行的语句>
-<变量>表示每次循环计数,若range后面的次数固定,则变量就为0到<次数>-1
range() 函数
-产生循环计数序列
-range(N)
产生0到N-1的整数序列,共N个
-range(M,N)
产生M到N-1的整数序列,共N-M个