turtle(海龟)库是turtle绘图体系的python实现。turtle绘图与1969年诞生,主要用于程序设计入门。turtle(海龟)库是python语言的标准库之一,是一种入门级的图形绘制函数。
#导入海龟画图库turtle
import turtle #用这种方式导入“import”库名,在下面所有的方法前面必须添加库名turtle
#import turtle as tl #用"import 库名 as 别名",在下面所有的的方法前面添加别名
#from turtle import * #用“from 库名 import *”导入库,在下面所有方法前面一定不能添加库名turtle
#后文为了增强大家的印象,一律使用第一种导入方法。
for i in range(20):
turtle.pensize(10) #设置画笔大小为10像素
turtle.pencolor('green') #设置画笔颜色为绿色
turtle.fd(200-i*10) #设置海龟画笔前进200-i*10像素
turtle.right(90) #画笔向下前进方向向右旋转90°
for i in range(20):
turtle.pensize(10)
turtlepencolor('red')
turtle.fd(20+i*10)
turtle.left(90)
import turtle
#随机颜色
import random #导入随机函数模块
from random import randint
turtle.colormode(255) #将RGB色彩切换成整数模式
for i in range(0,500,10): #for循环结构([0,500),i每次增加10)
#利用随机函数生成不同颜色
turtle.pensize(5)
turtle.bgcolor('black') #设置背景颜色为黑色
turtle.pencolor((random.randint(0,255),random.randint(0,255),random.randint(0,255)))#random:生成随机函数(需要导入),random.randint(x,y):在[x,y]之间随机选择一个整数
turtle.fd(i) #向前前进i给像素
turtle.right(90) #向下旋转90度
至此我们了解了turtle库的基础绘图方法,那么我们接下来绘制一幅五星红旗。
因为绘制五角星需要不断调整坐标和角度,所以我们简单了解一下turtle库的坐标体系。
turtle.goto(x,y) #x为横坐标,y为纵坐标
turtle.setheading(angle),可以简写为turtle.seth(angle)
-seth()改变海龟的前进方向,但是不行进
-angle为绝对度数
turtle.penup() 别名:turtle.pu()/turtle.up()
#抬起画笔
turtle.pendown() 别名:turtle.pd()/turtle.dowm()
#放下画笔
一般成对出现。
导入turtle库:
import turtle
turtle.speed(10) #绘制画笔速度
#国旗的底布(绘制填充满的四边形)
turtle.up()
turtle.goto(-200,220)
turtle.down()
turtle.begin_fill() #开始填充
turtle.fillcolor('red') #填充颜色
turtle.pencolor('red') #画笔的颜色
for i in range(2):
turtle.forward(438)
turtle.right(90)
turtle.forward(292)
turtle.right(90)
turtle.end_fill() #结束填充
#绘制大五角星
turtle.fillcolor('yellow') #填充颜色
turtle.pencolor('yellow') #画笔的颜色
turtle.up()
turtle.goto(-170,145)
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.fd(30)
turtle.left(72)
turtle.fd(30)
turtle.right(144)
turtle.end_fill()
#绘制第一颗辅五角星
turtle.up()
turtle.goto(-70,190)
turtle.setheading(305) #调整海龟移动的角度为305°
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.fd(10)
turtle.left(72)
turtle.fd(10)
turtle.right(144)
turtle.end_fill()
#绘制第二颗辅五角星
turtle.up()
turtle.goto(-55,150)
turtle.setheading(30)
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.fd(10)
turtle.left(72)
turtle.fd(10)
turtle.right(144)
turtle.end_fill()
#绘制第三颗辅五角星
turtle.up()
turtle.goto(-55,120)
turtle.setheading(3)
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.fd(10)
turtle.left(72)
turtle.fd(10)
turtle.right(144)
turtle.end_fill()
#绘制第四颗辅五角星
turtle.up()
turtle.goto(-70,100)
turtle.setheading(300)
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.fd(10)
turtle.left(72)
turtle.fd(10)
turtle.right(144)
turtle.end_fill()
最后按需添加绘制人信息即可完成。
turtle.write('绘制员:\n XXXXXXXXX\n xxx',font=('宋体',10,'bold'))