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

          實(shí)戰(zhàn)!用 Python 畫世界各國(guó)國(guó)旗!

          共 4512字,需瀏覽 10分鐘

           ·

          2021-02-02 09:28

          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包

          文 |?野客

          來(lái)源:Python 技術(shù)「ID: pythonall」


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

          五星紅旗

          五星紅旗是中華人民共和國(guó)的國(guó)旗,它是由四顆小的黃五角星環(huán)繞一顆大的黃五角星組成的,底色為紅色,實(shí)現(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()

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

          紅底白十字旗

          紅底白十字旗是瑞士的國(guó)旗,與其他國(guó)家有點(diǎn)不同,瑞士的國(guó)旗形狀是正方形的,代表了該國(guó)堅(jiān)守中立的政策,實(shí)現(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()

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

          星條旗

          星條旗是美國(guó)的國(guó)旗,由兩部分組成,旗的左上方藍(lán)底上排列著 50 顆白色的星,其余部分是 13 道紅白相間的條子,實(shí)現(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()

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

          一點(diǎn)紅旗

          一點(diǎn)紅旗是日本的國(guó)旗,構(gòu)成比較簡(jiǎn)單,就是在長(zhǎng)方形白底中點(diǎn)一個(gè)大紅點(diǎn),實(shí)現(xiàn)代碼如下:

          turtle.setup(width=600,?height=400)
          #?設(shè)置畫筆起點(diǎn)
          turtle.penup()
          turtle.goto(0,?-50)
          turtle.pendown()
          #?設(shè)置畫筆屬性
          turtle.pensize(5)
          turtle.pencolor("red")
          turtle.fillcolor("red")
          #?繪制速度
          turtle.speed(10)
          turtle.begin_fill()
          turtle.circle(50)
          turtle.end_fill()
          turtle.hideturtle()
          turtle.mainloop()

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

          總結(jié)

          本文我們使用 Python 繪制了幾面國(guó)旗,有興趣的可以嘗試?yán)L制一下其他國(guó)家的國(guó)旗。


          1. 春節(jié)來(lái)臨,用 60 行代碼自動(dòng)搶微信紅包

          2. 厲害了!潘石屹Python考試首秀99分!

          3. 太贊!Python和Excel終于可以互通了

          4. 太火爆了!這一款小游戲火到把服務(wù)器搞癱瘓,合成大西瓜

          5. 全球最大色情網(wǎng)站宣布:封殺特朗普


          點(diǎn)分享
          點(diǎn)收藏
          點(diǎn)點(diǎn)贊
          點(diǎn)在看
          瀏覽 371
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  大香蕉狠狠撸手机免费看视频 | 国产在线播放av 国产在线播放福利 | 欧美操逼视频大全 | 在线观看黄色网页 | 乱av在线 |