python的turtle画五角星内部不能填充的解决办法
1.网上画的五角星方法,本机发现内部五角星不能填充。1.1代码如:from turtle import*#从turtle中导出所有模块color("black","red") #黑色画线,红色填充颜色begin_fill()#开始填充for i in range(5):fd(200)#forward的缩写,设置五角星的大小right(144) #向右的角度为144...
·
1.网上画的五角星方法,本机发现内部五角星不能填充。
1.1代码如:
from turtle import* #从turtle中导出所有模块
color("black","red") #黑色画线,红色填充颜色
begin_fill()#开始填充
for i in range(5):
fd(200)#forward的缩写,设置五角星的大小
right(144) #向右的角度为144,固定角度
end_fill()#填充颜色完毕
exitonclick()#可以关闭窗口右上角的“×”
1.2图:
2.如何解决内部正五边形颜色填充问题
2.1其实再画一次正五边形,然后填充颜色为红色,就可以了。
2.2需要知道几个参数:
图
2.3 条件:|2-5|=200,角876=108°,角176=72°,角716=36°
求|2-7|=?=x和|7-6|=?=y
2x+y=200;sin18°=0.3
Y/2=xsin18°=0.3x
X=76.9,y=46.2
2.4画内部正五边形的代码:
pu()#提笔,不留痕迹
fd(76.9)#向前走76.9像素,即|2-7|的x长度
pd()#落笔,开始画线,即7点坐标位置,开始画五角星内的正五边形水平向左的边长
#画内部五边形,并且填充红色
fillcolor("red") #填充颜色
begin_fill()#开始填充颜色
for i in range(5):#一共有5条边,画5次,5个循环
fd(46.2)#第一次画,向右边长46.2
right(72)#转角72°
end_fill()#结束填充红色
2.5 效果图
3所以解决五角星内部正五边形无法填充红色的办法就是:
补充画一个正五边形,并填充红色。
4.完整代码为:
from turtle import * #从turtle中导出所有模块
fillcolor("red") #设置填充颜色
begin_fill() #开始填充
while True:
fd(200) #forward的缩写,设置五角星的大小
right(144)#向右的角度为144,固定角度
if abs(pos()) < 1:#查看,画笔是否回到原点,(回到原点时,为真)
break#如果回到,原点则跳出循环
end_fill()#填充完毕
pu()#提笔,不留痕迹
fd(76.9)#向前走76.9像素,即|2-7|的x长度
pd()#落笔,开始画线,即7点坐标位置,开始画五角星内的正五边形水平向左的边长
#画内部五边形,并且填充红色
fillcolor("red") #填充颜色
begin_fill()#开始填充颜色
for i in range(5):#一共有5条边,画5次,5个循环
fd(46.2)#第一次画,向右边长46.2
right(72)#转角72°
end_fill()#结束填充红色
exitonclick()#可以关闭窗口右上角的“×”
5.成功,发现问题,解决问题。加油。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献4条内容
所有评论(0)