mac下利用python画五角星

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画五角星的分享。

猜你喜欢

转载自blog.csdn.net/m0_74436853/article/details/129740803
今日推荐