设置海龟画布
功能要求
设置海龟画布大小为800×600,并设置画布的背景图(背景图片和Python源文件存放在同一个目录下)。
实例代码
import turtle
turtle.setup(800, 600) # 设置画布的大小和位置
turtle.bgpic("sky.png") # 设置图片为画笔的背景图
turtle.done() # 暂停程序,停止画笔绘制
运行结果
代码分析
turtle.setup(800, 600):设置主窗口的大小(宽度为800、高度为600)和位置(没有设置表示主窗口水平居中、垂直居中)。
turtle.bgpic("sky.png"):设置主窗口的背景图片,设置的为和Python源文件在同一目录中的“sky.png”图片。注意:正确编写图片的路径(一般相对于源文件的路径),文件的后缀名可以是.png和.gif。
在画布上绘制五角星
功能要求
设置海龟画布大小为800×600、并设置画布的背景图;在画布指定位置绘制指定大小的五角星,并为五角星填充指定的颜色。
实例代码
import turtle
'''设置画布'''
turtle.setup(800, 600) # 设置画布的大小和位置
turtle.bgpic("sky.gif") # 设置图片为画笔的背景图
'''在指定位置绘制五角星,并填充颜色'''
step = 50 # 设置五角星的边长
x, y = -200, 200 # 设置画笔的起点位置
turtle.penup() # 抬起画笔
turtle.goto(x, y) # 将画笔移动到(x, y)的位置
turtle.pendown() # 落下画笔
turtle.color("red") # 设置画笔的颜色
turtle.fillcolor("red") # 设置填充颜色
turtle.begin_fill() # 设置开始填充的位置
for x in range(5): # 绘制五角星
turtle.forward(step)
turtle.right(144)
turtle.end_fill() # 设置结束填充的位置
turtle.done() # 暂停程序,停止画笔绘制
运行结果
在画布随机位置绘制五角星
功能要求
设置海龟画布大小为800×600、并设置画布的背景图;在画布随机位置绘制随机大小的五角星,并为五角星填充随机的颜色,并定义函数实现五角星的绘制。
实例代码
import turtle
import random # 导入random模块
'''设置画布'''
turtle.setup(800, 600) # 设置画布的大小和位置
turtle.bgpic("sky.gif") # 设置图片为画笔的背景图
'''
在指定位置绘制五角星,并填充颜色
x, y参数表示绘制五角星的起始坐标
angle参数表示绘制五角星时画笔旋转的角度
step参数表示绘制五角星的边长
color参数表示画笔的颜色和填充颜色
'''
def drawFiveStar(x, y, angle, step, color):
turtle.penup() # 抬起画笔
turtle.goto(x, y) # 将画笔移动到(x, y)的位置
turtle.left(angle)
turtle.pendown() # 落下画笔
turtle.color(color) # 设置画笔的颜色
turtle.fillcolor(color) # 设置填充颜色
turtle.begin_fill() # 设置开始填充的位置
for x in range(5): # 绘制五角星
turtle.forward(step)
turtle.right(144)
turtle.end_fill() # 设置结束填充的位置
'''随机产生五角星的起始位置、旋转角度、边长和颜色'''
step = random.randint(20, 40) # 随机产生五角星的边长
x = random.randint(-400, 400) # 随机产生x坐标的位置
y = random.randint(-400, 400) # 随机参数y坐标的位置
angle = random.randint(0, 36) * 10 # 随机产生初始画笔的角度
lstColor = ["red", "orange", "yellow", "pink", "Purple"] # 定义列表保存五角星的颜色
color = random.choice(lstColor) # 随机从列表中取出一种颜色
drawFiveStar(x, y, angle, step, color) # 调用绘制五角星的函数绘制五角星
turtle.done() # 暂停程序,停止画笔绘制
运行结果
注意:每次运行的结果都不相同。
代码分析
import random:导入random模块,用于生成随机数,它提供了很多函数。
step = random.randint(20, 40):随机产生一个20到40之间的随机整数(包括20和40)用于表示五角星的边长,注意:传入参数必须是整数,第一个参数一定要比第二个参数小。
x = random.randint(-400 + step, 400 - step):随机产生x坐标的位置,x为整数,x的范围为[-400 + step, 400 - step],为了防止五角星画出画布,起点的位置减去五角星的边长。
angle = random.randint(0, 36) * 10:随机产生初始画笔的角度,随机数的范围为[0, 36]乘以10后的范围为[0, 360]表示每次旋转的角度为10、20、30、……。
lstColor = ["red", "orange", "yellow", "pink", "Purple"]:定义列表保存五角星的颜色
color = random.choice(lstColor):从lstColor列表中随机取一个元素,即从列表中随机取一种颜色。
drawFiveStar(x, y, angle, step, color):调用绘制五角星函数并将画笔的起始位置(x, y)、画笔旋转的角度、五角星的边长、五角星的颜色参数传入drawFiveStar函数绘制五角星
在画布上绘制满天星空
功能要求
设置海龟画布大小为800×600、并设置画布的背景图;在画布随机位置绘制随机大小的五角星,并为五角星填充随机的颜色,并定义函数实现五角星的绘制。随机产生50个不同大小、不同方向、不同颜色的五角星,实现满天星空。五角星的位置在画布的上半部分,同时隐藏海龟画笔,并设置画笔速度。
实例代码
import turtle
import random # 导入random模块
'''设置画布'''
turtle.hideturtle() # 隐藏海龟画笔
turtle.speed(0) # 设置速度
turtle.setup(800, 600) # 设置画布的大小和位置
turtle.bgpic("sky.gif") # 设置图片为画笔的背景图
'''
在指定位置绘制五角星,并填充颜色
x, y参数表示绘制五角星的起始坐标
angle参数表示绘制五角星时画笔旋转的角度
step参数表示绘制五角星的边长
color参数表示画笔的颜色和填充颜色
'''
def drawFiveStar(x, y, angle, step, color):
turtle.penup() # 抬起画笔
turtle.goto(x, y) # 将画笔移动到(x, y)的位置
turtle.left(angle)
turtle.pendown() # 落下画笔
turtle.color(color) # 设置画笔的颜色
turtle.fillcolor(color) # 设置填充颜色
turtle.begin_fill() # 设置开始填充的位置
for x in range(5): # 绘制五角星
turtle.forward(step)
turtle.right(144)
turtle.end_fill() # 设置结束填充的位置
'''随机产生五角星的起始位置、旋转角度、边长和颜色'''
for i in range(50):
step = random.randint(20, 40) # 随机产生五角星的边长
x = random.randint(-400, 400) # 随机产生x坐标的位置
y = random.randint(0, 300) # 随机参数y坐标的位置
angle = random.randint(0, 36) * 10 # 随机产生初始画笔的角度
lstColor = ["red", "orange", "yellow", "pink", "Purple"] # 定义列表保存五角星的颜色
color = random.choice(lstColor) # 随机从列表中取一种颜色
drawFiveStar(x, y, angle, step, color) # 调用绘制五角星函数绘制五角星
turtle.done() # 暂停程序,停止画笔绘制
运行结果