mac系统下的IDLE所画出来五角星与Windows有些许不同
import turtle
turtle.begin_fill()
turtle.pensize(3)
turtle.color('yellow','blue')
for i in range(5):
turtle.fd(200)
turtle.right(144)
turtle.end_fill()
mac下正常画一个五角星,内部不会完全填充,只会填充五个角,而内部空出一个五边形,如下图
解决方法,一是在内部画个同颜色五边形去补齐五角星,代码如下:
import turtle
turtle.hideturtle()#不显示箭头
turtle.begin_fill()#开始填充
turtle.pensize(3)#画笔粗细
turtle.color('yellow','blue')#画笔颜色、内部填充颜色
for i in range(5):#开始循环
turtle.fd(200)#前进200
turtle.right(144)#右转144度
turtle.end_fill()#结束填充
turtle.up()#抬起画笔
turtle.fd(76.9)#前进76.9
turtle.down()#落下画笔
turtle.begin_fill()#开始填充
for i in range(5):#开始循环画五边形
turtle.fd(46.5)#前进46.5
turtle.right(72)#右转72度
turtle.end_fill()#结束填充
turtle.done()#结束
但是新的问题就会出现,画笔颜色如果和内部填充颜色不同,那五角星内部还是无法全部填充,能看到画笔的运行留下的框线颜色,如下图:
此时,解决方法二是画笔只走外围一圈,不交叉走内部,代码如下:
import turtle
turtle.color('yellow','red')#画笔颜色、内部填充颜色
turtle.hideturtle()#箭头消失
turtle.pensize(3)#画笔粗细
turtle.up()#抬起画笔
turtle.fd(-130)#箭头所指相反方向130,对于整个画布而言就是向左130
turtle.left(90)#向左转向九十度
turtle.fd(100)#前进100
turtle.right(90)#向右转向90度
turtle.down()#落下画笔
turtle.begin_fill()#开始填充
for i in range(5):#开始循环,以下是只走外部的代码段
turtle.forward(100)
turtle.left(72)
turtle.forward(100)
turtle.right(144)
turtle.end_fill()#结束填充
#以下是在右下角加了一段文字,与画五角星无关
turtle.up()
turtle.right(90)
turtle.forward(300)
turtle.left(90)
turtle.forward(300)
turtle.down()
turtle.color('blue')
turtle.write("21应用三-2111321-康文泽",align="center",font=("宋体",20,"normal"))
turtle.end_fill()
turtle.done()
效果如下:
以上就是对于mac下python画五角星的分享。