<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用 Python 畫了幾個國家的國旗

          共 5705字,需瀏覽 12分鐘

           ·

          2020-09-27 08:24

          b2ee4cd43c22bc39380664dfa26a4985.webp

          文 |?野客

          來源:Python 技術「ID: pythonall」

          8e40770b0aced49670ddda63e4f8e0f4.webp

          國旗是一個國家的象征,它可以反映一個國家的特色和傳統(tǒng),國旗起源于近代的歐洲,是一個國家主權意識不斷增強后的必然產物,本文我們使用 Python 來畫幾面國旗,使用的 Python 庫是大家比較熟悉的 turtle。

          五星紅旗

          五星紅旗是中華人民共和國的國旗,它是由四顆小的黃五角星環(huán)繞一顆大的黃五角星組成的,底色為紅色,實現(xiàn)代碼如下:

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

          實現(xiàn)效果如下:

          b5b07f53fca63a1bfd57190b83449118.webp

          青天白日旗

          青天白日旗是民國時期的國旗,旗面作藍色以示青天,旗中置一射出叉光的白日圖案,實現(xiàn)代碼如下:

          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)

          實現(xiàn)效果如下:

          e065dd097fec64fec54d9c39ee1b9830.webp

          紅底白十字旗

          紅底白十字旗是瑞士的國旗,與其他國家有點不同,瑞士的國旗形狀是正方形的,代表了該國堅守中立的政策,實現(xiàn)代碼如下:

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

          實現(xiàn)效果如下:

          0059d2d0084bd70fecaa97feda2f7c9b.webp

          星條旗

          星條旗是美國的國旗,由兩部分組成,旗的左上方藍底上排列著 50 顆白色的星,其余部分是 13 道紅白相間的條子,實現(xiàn)代碼如下:

          #?畫條紋
          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()

          實現(xiàn)效果如下:

          1714d091e6bcbfd4ad9e3321d907fcd7.webp

          總結

          本文我們使用 Python 繪制了幾面國旗,有興趣的可以嘗試繪制一下其他國家的國旗。

          PS公號內回復「Python」即可進入Python 新手學習交流群,一起 100 天計劃!


          老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點一下如果感覺文章內容不錯的話,記得分享朋友圈讓更多的人知道!

          e8cbaa25cab00ebee1f274383db0f554.webpc54d3f32746bc76073c8bb60cac8c179.webp

          代碼獲取方式

          識別文末二維碼,回復:200927


          瀏覽 148
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美a片中文字幕 | 在线看成人毛片 | 日逼的网站 | 影音先锋男人资源网 | 精品无码国产污污污免费网站 |