python画满天星_跟我学解Python题-海龟制图满天星

这是今年11月26日嘉兴市技能节的一道题目,

用海龟画图模块在画布上画出满天星图案

要求:

(1)、 Turtle 画布的大小为:宽 800 像素,高 600 像素;

(2)、 共画 100 个五角星, 每个五角星在画布内显示位置是随机的, 五角星边长取[15,25]

之间随机数, 五角星之间允许产生重叠甚至是完全覆盖

(3) 五角星的颜色是随机的

(4) 隐藏画笔

操作题目截图

我们先来总结一下需要用到的知识点:

import turtle 海归库

import random 随机函数库

turtle.setup()画布设置(尺寸,距离)

turtle.hideturtle()隐藏画笔

turtle.bgcolor("black")画布背景色

turtle.color(画笔颜色,填充颜色) ps:可以使用颜色名称或十六进制RGB代码

for j in range(),for循环,用于绘制五角星

其余还有抬笔、落笔、填充开始、填充结束、移动到指定位置等等。

开始制作:

第一步,导入海龟库和随机函数库

import turtle

import random

第二步,使用setup()设置画布尺寸为800px*600px;使用p来代替turtle.Pen()。一劳永逸的做法;隐藏画笔;设置速度,化的更快些;设置画布北京为黑色。

turtle.setup(width=800,height=500)

p=turtle.Pen()

p.hideturtle()

turtle.speed(10)

turtle.bgcolor("black")

第三步,新建列表c,列表中的元素为0~9和A~F,都改为字符类型,方便后面使用。

新建变量color初始化为空字符。

c=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]

color=""

第四步,使用for循环,重复100次。

重复绘制100个五角星并填充上所及的颜色,随机的边长(大小),随机的位置

for i in range(100):、

抬笔

p.up()

移动到随机位置,由于画布的尺寸为800*600,所以x轴的随机范围为-400~400,y轴的随机范围为-300~300。

p.goto(random.randint(-400,400),random.randint(-300,300))

落笔

p.pd()

重置color变量,每一次循环都color变量进行重置。

color=""

随机的在列表c中取6次值,并进行累加,最后于“#”累加,这样才是可以使用的十六进制颜色编码

for k in range(6):

color=color+c[random.randint(0,15)]

color="#"+color

设置画笔颜色和填充颜色都是color

p.color(color,color)

p.begin_fill()

设置五角星的边长为变量L,随即范围为15~25

L=random.randint(15,25)

绘制五角星边长为L,五角星的每个角是36°,所以循环过程中每次旋转144°

for j in range(5):

p.fd(L)

p.left(144)

p.end_fill()

脚本和运行效果:

脚本和运行效果截图

好了,以上就是我整个制作步骤了,应该还有其他的解题方法,如果过你有不一样的制作方法,请在评论区留言分享给我,我们一同进步!我是 大于小澍,一个陪孩子玩的90程序员。感谢你的阅读。

你可能感兴趣的:(python画满天星)