Python学习2:绘制美国队长之盾(基础)

描述

美国队长之盾的外表涂装与美国国旗相似,由红色(象征勇气)、白色(象征真理)和蓝色(象征正义)组成,中间有着一个白色五角星。

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()

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值