python 绘制国旗的示例


Posted in Python onSeptember 27, 2020

国旗是一个国家的象征,它可以反映一个国家的特色和传统,国旗起源于近代的欧洲,是一个国家主权意识不断增强后的必然产物,本文我们使用 Python 来画几面国旗,使用的 Python 库是大家比较熟悉的 turtle。

五星红旗

五星红旗是中华人民共和国的国旗,它是由四颗小的黄五角星环绕一颗大的黄五角星组成的,底色为红色,实现代码如下:

turtle.setup(600,400,0,0)
turtle.bgcolor("red")
turtle.fillcolor("yellow")
turtle.color('yellow')
turtle.speed(10)
# 主星
turtle.begin_fill()
turtle.up()
turtle.goto(-280,100)
turtle.down()
for i in range (5):
  turtle.forward(150)
  turtle.right(144)
turtle.end_fill()
# 副星
turtle.begin_fill()
turtle.up()
turtle.goto(-100,180)
turtle.setheading(305)
turtle.down()
for i in range (5):
  turtle.forward(50)
  turtle.left(144)
turtle.end_fill()
turtle.begin_fill()
turtle.up()
turtle.goto(-50,110)
turtle.setheading(30)
turtle.down()
for i in range (5):
  turtle.forward(50)
  turtle.right(144)
turtle.end_fill()
turtle.begin_fill()
turtle.up()
turtle.goto(-40,50)
turtle.setheading(5)
turtle.down()
for i in range (5):
  turtle.forward(50)
  turtle.right(144)
turtle.end_fill()
turtle.begin_fill()
turtle.up()
turtle.goto(-100,10)
turtle.setheading(300)
turtle.down()
for i in range (5):
  turtle.forward(50)
  turtle.left(144)
turtle.end_fill()
turtle.hideturtle()
turtle.done()

实现效果如下:

python 绘制国旗的示例

青天白日旗

青天白日旗是民国时期的国旗,旗面作蓝色以示青天,旗中置一射出叉光的白日图案,实现代码如下:

t.colormode(255)
rcblue=(4,0,174)
rcred=(254,0,0)
def ol(r):
  na = 15 / 180 * math.pi
  ol=2*r*math.cos(na)
  ol=int(round(ol))
  return ol
def loop(r):
  t.fd(ol(r))
  t.right(150)
def main0(a,b):
  t.color(rcred)
  t.penup()
  t.goto(-a/2,b/2)
  t.pendown()
  t.begin_fill()
  t.goto(-a/2,-b/2)
  t.goto(a/2,-b/2)
  t.goto(a/2,b/2)
  t.end_fill()
  t.penup()
  t.goto(-a/4,b/4)
  t.pendown()
def main1(a1,b1):
  t.color('gray',rcblue)
  t.penup()
  t.right(90)
  t.fd(b1/2)
  t.left(90)
  t.pendown()
  t.begin_fill()
  t.fd(a1/2)
  t.left(90)
  t.fd(b1)
  t.left(90)
  t.fd(a1)
  t.left(90)
  t.fd(b1)
  t.left(90)
  t.fd(a1/2)
  t.end_fill()
  t.penup()
  t.goto(-a/4,b/4)
  t.seth(0)
  t.pendown()
def main2(r):
  t.pensize = 20
  t.color('white', 'white')
  t.penup()
  t.fd(r)
  t.right(180 - 30 / 2)
  t.pendown()
  t.begin_fill()
  for i in range(12):
    loop(r)
  t.end_fill()
  t.penup()
  t.goto(-a/4,b/4)
  t.seth(0)
  t.pendown()
def main3(r1,r2):
  t.color(rcblue, rcblue) 
  t.begin_fill()
  t.up()
  t.right(90)
  t.fd(r1)
  t.left(90)
  t.pd()
  t.circle(r1)
  t.end_fill()
  t.penup()
  t.goto(-a/4,b/4)
  t.pendown()
  t.color('white', 'white')
  t.begin_fill()
  t.pu()
  t.right(90)
  t.fd(r2)
  t.left(90)
  t.pd()
  t.circle(r2)
  t.end_fill()
  t.penup()
  t.goto(-a/4,b/4)
  t.seth(0)
  t.pendown()
def main(a,b):
  a1 = a / 2
  b1 = b / 2
  r = a1 / 4
  r2 = a1 / 8
  r1 = b1 * 17 / 80
  main0(a,b)
  main1(a1,b1)
  main2(r)
  main3(r1,r2)
a=1020
b=680
t.setup(1100,700,100,0)

实现效果如下:

python 绘制国旗的示例

红底白十字旗

红底白十字旗是瑞士的国旗,与其他国家有点不同,瑞士的国旗形状是正方形的,代表了该国坚守中立的政策,实现代码如下:

def draw_crossshaped(aTurtle, width=0, height=0, color=None):
  aTurtle = turtle.Turtle()
  aTurtle.hideturtle()
  aTurtle.penup()
  aTurtle.goto(30, 50)
  aTurtle.begin_fill()
  aTurtle.fillcolor(color)
  for i in range(4):
    aTurtle.pendown()
    aTurtle.fd(width)
    aTurtle.rt(90)
    aTurtle.fd(height)
    aTurtle.rt(90)
    aTurtle.fd(width)
    aTurtle.lt(90)
  aTurtle.end_fill()
def draw_RQ(times=20.0):
  width, height = 26 * times, 26 * times
  window = turtle.Screen()
  aTurtle = turtle.Turtle()
  aTurtle.hideturtle()
  aTurtle.speed(10)
  aTurtle.penup()
  aTurtle.goto(-width / 2, height / 2)
  aTurtle.pendown()
  aTurtle.begin_fill()
  aTurtle.fillcolor('red')
  aTurtle.fd(width)
  aTurtle.right(90)
  aTurtle.fd(height)
  aTurtle.right(90)
  aTurtle.fd(width)
  aTurtle.right(90)
  aTurtle.fd(height)
  aTurtle.right(90)
  aTurtle.end_fill()
  draw_crossshaped(aTurtle, width=80, height=80, color='white')
  window.exitonclick()

实现效果如下:

python 绘制国旗的示例

星条旗

星条旗是美国的国旗,由两部分组成,旗的左上方蓝底上排列着 50 颗白色的星,其余部分是 13 道红白相间的条子,实现代码如下:

# 画条纹
def drawSquar():
  turtle.color('black', 'red')
  turtle.begin_fill()
  for i in range(7):
    turtle.forward(600)
    turtle.left(90)
    turtle.forward(350 / 13)
    turtle.left(90)
    turtle.forward(600)
    turtle.right(90)
    turtle.forward(350 / 13)
    turtle.right(90)
  turtle.end_fill()
# 画左上角的小矩形
def drawSmallsqure():
  turtle.color('blue')
  turtle.begin_fill()
  turtle.left(90)
  turtle.forward(350 / 2)
  turtle.left(90)
  turtle.forward(300)
  turtle.left(90)
  turtle.forward(350 * 7 / 13)
  turtle.left(90)
  turtle.forward(300)
  turtle.end_fill()
# 画左上角的星星
def drawSrarts():
  x = -10
  y = 0
  for k in range(4):
    x = -15
    for i in range(6):
      turtle.goto(x, y)
      turtle.color('white')
      turtle.begin_fill()
      for j in range(5):
        turtle.left(144)
        turtle.forward(20)
      x -= 50
      turtle.end_fill()
    y += 350 / 13 * 2
  x = -10
  y = 350 / 13
  for i in range(3):
    x = -35
    for j in range(5):
      turtle.goto(x, y)
      turtle.color('white')
      turtle.begin_fill()
      for k in range(5):
        turtle.left(144)
        turtle.forward(20)
      x -= 50
      turtle.end_fill()
    y += 350 / 13 * 2
turtle.setup(0.8, 0.8, -100, -100)
turtle.speed(10)
turtle.pu()
turtle.forward(300)
turtle.left(90)
turtle.forward(350 / 2)
turtle.left(90)
drawSquar()
turtle.home()
drawSmallsqure()
turtle.home()
drawSrarts()
turtle.hideturtle()
turtle.done()

实现效果如下:

python 绘制国旗的示例

总结

本文我们使用 Python 绘制了几面国旗,有兴趣的可以尝试绘制一下其他国家的国旗。

示例代码:https://github.com/JustDoPython/python-examples/tree/master/yeke/py-flag

以上就是python 绘制国旗的示例的详细内容,更多关于python 绘制国旗的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
Python入门_浅谈字符串的分片与索引、字符串的方法
May 16 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
Python绘制频率分布直方图的示例
Jul 08 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
python爬虫-模拟微博登录功能
Sep 12 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
Pytest之测试命名规则的使用
Apr 16 Python
python基础之文件处理知识总结
May 23 Python
python把一个字符串切开的实例方法
Sep 27 #Python
python实现图片素描效果
Sep 26 #Python
Python:__eq__和__str__函数的使用示例
Sep 26 #Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 #Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 #Python
Python爬取股票信息,并可视化数据的示例
Sep 26 #Python
如何利用python发送邮件
Sep 26 #Python
You might like
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
微信小程序间使用navigator跳转传值问题实例分析
2020/03/27 Javascript
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
python显示生日是星期几的方法
2015/05/27 Python
Python 中的 else详解
2016/04/23 Python
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python进度条的制作代码实例
2019/08/31 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
自荐信要包含哪些内容
2013/11/06 职场文书
少年闰土教学反思
2014/02/22 职场文书
领导调研接待方案
2014/02/27 职场文书
升职自我推荐信范文
2015/03/25 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL