描述
美国队长之盾的外表涂装与美国国旗相似,由红色(象征勇气)、白色(象征真理)和蓝色(象征正义)组成,中间有着一个白色五角星。
import turtle
import math
# 最大圆半径240,最小圆的半径是60,由大到小依次减少60
# 由外向内填充颜色依次是红、白、红、蓝
turtle.speed(0.5) # 设置turtle的速度
color_list = ['red', 'white', 'red', 'blue'] # 填充颜色
xy_list = [(0, -240), (0, -180), (0, -120), (0, -60)] # 从大到小四个圆的起始点坐标
for i in range(4):
turtle.penup()
turtle.goto(xy_list[i])
turtle.pendown()
turtle.begin_fill()#开始填充
turtle.pencolor(color_list[i])#设置画笔颜色
turtle.fillcolor(color_list[i])#设置填充颜色
turtle.circle(240-(i*60))
turtle.end_fill()#结束填充
# 内接五角星的边长,数学问题
width = (math.sin(math.radians(36)) * 60) / math.sin(math.radians(126))
# 绘制内接五角,填充白色
turtle.penup()
turtle.goto(0,60) #画笔移动到最小圆的最高点
turtle.pendown()
turtle.right(72) #设置画笔起始角度
turtle.pencolor('white') #设置画笔颜色为白色
turtle.fillcolor('white') #设置填充颜色为白色
turtle.begin_fill() #开始填充
for i in range(5): #循环画五角星的外轮廓
turtle.fd(width)
turtle.left(72)
turtle.fd(width)
turtle.right(144)
turtle.end_fill() #结束填充
#=======================================================
turtle.hideturtle()
turtle.done()
Python123在线编程
import turtle
import math
# 最大圆半径240,最小圆的半径是60,由大到小依次减少60
# 由外向内填充颜色依次是红、白、红、蓝
turtle.speed(0) # 设置turtle的速度为最快
color_list = ['red', 'white', 'red', 'blue'] # 填充颜色
xy_list = [(0, -240), (0, -180), (0, -120), (0, -60)] # 从大到小四个圆的起始点坐标
for i in range(4):
turtle.penup()
turtle.goto(xy_list[i]) # 画笔移动到圆的起点坐标位置
turtle.pendown()
turtle.pencolor(color_list[i]) # 设置画笔颜色
turtle.fillcolor(color_list[i]) # 设置填充颜色
turtle.begin_fill() # 开始填充
turtle.circle(240 - 60 * i) # 画圆
turtle.end_fill() # 结束填充
# 内接五角星的边长,数学问题
width = (math.sin(math.radians(36)) * 60) / math.sin(math.radians(126))
# 绘制内接五角,填充白色
turtle.penup()
turtle.goto(0, 60) # 画笔移动到最小圆的最高点
turtle.pendown()
turtle.seth(-72)
turtle.pencolor('white')
turtle.fillcolor('white')
turtle.begin_fill()
for i in range(5):
turtle.fd(width)
turtle.left(72)
turtle.fd(width)
turtle.right(144)
turtle.end_fill()
turtle.hideturtle()
turtle.done()