python 繪制國旗的示例
國旗是一個國家的象征,它可以反映一個國家的特色和傳統(tǒng),國旗起源于近代的歐洲,是一個國家主權(quán)意識不斷增強后的必然產(chǎn)物,本文我們使用 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)效果如下:
青天白日旗
青天白日旗是民國時期的國旗,旗面作藍色以示青天,旗中置一射出叉光的白日圖案,實現(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 oldef 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=1020b=680t.setup(1100,700,100,0)
實現(xiàn)效果如下:
紅底白十字旗
紅底白十字旗是瑞士的國旗,與其他國家有點不同,瑞士的國旗形狀是正方形的,代表了該國堅守中立的政策,實現(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)效果如下:
星條旗
星條旗是美國的國旗,由兩部分組成,旗的左上方藍底上排列著 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 * 2turtle.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)效果如下:
總結(jié)
本文我們使用 Python 繪制了幾面國旗,有興趣的可以嘗試繪制一下其他國家的國旗。
示例代碼:https://github.com/JustDoPython/python-examples/tree/master/yeke/py-flag
以上就是python 繪制國旗的示例的詳細內(nèi)容,更多關(guān)于python 繪制國旗的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. java加載屬性配置properties文件的方法2. PHP正則表達式函數(shù)preg_replace用法實例分析3. php redis setnx分布式鎖簡單原理解析4. CSS3中Transition屬性詳解以及示例分享5. 什么是Python變量作用域6. js select支持手動輸入功能實現(xiàn)代碼7. 如何在PHP中讀寫文件8. 《Java程序員修煉之道》作者Ben Evans:保守的設(shè)計思想是Java的最大優(yōu)勢9. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼10. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式
