Python二级必考标准库turtle、random和time
【题外话】介于前几天春节来临是吧,给自己放了几天假。其实就是偷懒。好啦,说完啦。
一、turtle库
1.1 概述
- turtle(海龟)是Python重要的标准库之一(这是句废话)。
- 功能:进行基本的图形绘制。
- 注意,turtle图形绘制概念诞生于1969年,并在LOGO编程语言中获得成功应用。所以Python接受了turtle的概念并形成了turtle库。
- turtle库基本框架就是:一只海龟在一个坐标系中爬行,爬行轨迹形成了绘制的图形。海龟有“前进”、“后退”、“旋转”等动作,爬行时也有“前进方向”、“后退方向”、“左侧方向”、“右侧方向”等以海龟自身为基准的方位。
1.2 turtle库的基本使用
turtlr库包含100多个功能函数,主要包括窗体函数、画笔状态和画笔运动函数3种
1.2.1 窗体函数
turtle.setup(width,height,startx,starty)
width:窗口宽度。若为整数则代表像素值,小数则代表窗口宽度和屏幕的比例
height:窗口高度。若为整数则代表像素值,小数则代表窗口宽度和屏幕的比例
startx:窗体左侧和屏幕左侧的像素距离。值为None,窗体位于屏幕水平中央。
starty:窗体顶部与屏幕顶部的像素距离。值为None,窗体位于屏幕垂直中央
1.2.2 画笔状态函数
函数 | 描述 |
---|---|
penup() | 提起画笔,之后,移动不绘制图形 |
pendown() | 放下画笔,之后,移动绘制图形,与penup()配套使用 |
pensize(width) | 设置画笔线条粗细 |
pencolor() | 设置画笔的颜色 |
color() | 画笔和填充颜色 |
begin_fill() | 填充图形前调用该方法 |
end_file() | 填充图形结束 |
filling() | 返回填充的状态,True为填充,False为未填充 |
clear() | 清空当前窗口,但不改变画笔状态 |
reset() | 清空当前窗口,同时重置位置等状态为默认值 |
screensize() | 设置画布窗口的宽度、高度和背景颜色 |
hideturtle() | 隐藏画笔的turtle形状 |
showturtle() | 显示画笔的turtle形状 |
isvisible() | 如果turtle可见,则返回True |
write(str,font=None) | 输出font字体的字符串 |
1.2.3 画笔运动函数
函数 | 描述 |
---|---|
forward(distance) 别名:fd() | 沿着当前方向前进指定距离 |
backward(distance) 别名:bk() | 沿着当前相反的方向运动指定距离 |
right(angle) | 向右旋转angle角度 |
left(angle) | 向左旋转angle角度 |
goto(x,y) | 移动到绝对坐标(x,y)处 |
setx(x) | 画笔横坐标修改到x,纵坐标不变 |
sety(y) | 画笔纵坐标修改到y,横坐标不变 |
setheading(angle) 别名:seth() | 设置当前朝向angle角度 |
home() | 设置画笔位置为原点,朝向东 |
circle(radius,extent=None,steps=None) | 绘制一个半径为r,角度为e的圆或弧,steps为该圆的内切多边形,边数为steps |
dot(radius,e) | 绘制一个半径为r,颜色为e的圆点 |
undo() | 撤销画笔最后一步操作 |
speed() | 设置画笔的绘制速度,参数在0~10之间 |
1.3 turtle库练习
为了更好的理解这些函数的使用,在此给出三角形到多边形的彩色绘制以及文字输出的练习
import turtle as t #导入turtle包并起别名为 t 进行绘制
t.pensize(3) #设置画笔粗细
# 绘制三角形
t.penup() #拿起画笔
t.goto(-200,-50) #画笔移动到坐标(-200,-50处)
t.speed(1) #设置画笔速度
t.begin_fill() #填充图形前调用
t.color('red') #填充颜色为red
t.circle(40,steps=3) #绘制半径四十的圆的内接三角形。
t.end_fill() #结束填充
# 绘制四边形
t.penup() #拿起画笔
t.goto(-100,-50) #画笔移动到坐标(-100,-50处)
t.speed(1) #设置画笔速度
t.begin_fill() #填充图形前调用
t.color('blue') #填充颜色为blue
t.circle(40,steps=4) #绘制半径四十的圆的内接四边形。
t.end_fill