100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 「Python海龟画图」利用海龟画笔绘制满天星空

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

时间:2018-11-19 04:47:38

相关推荐

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

设置海龟画布

功能要求

设置海龟画布大小为800×600,并设置画布的背景图(背景图片和Python源文件存放在同一个目录下)。

实例代码

import turtleturtle.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 turtleimport 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 turtleimport 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() # 暂停程序,停止画笔绘制

运行结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。