星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

「Python海龟画图」利用海龟画笔绘制满天星空

设置海龟画布

功能要求

设置海龟画布大小为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() # 暂停程序,停止画笔绘制

运行结果

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言