国旗是一个国家的象征,它可以反映一个国家的特色和传统,国旗起源于近代的欧洲,是一个国家主权意识不断增强后的必然产物,本文我们使用 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()
实现效果如下:
青天白日旗
青天白日旗是民国时期的国旗,旗面作蓝色以示青天,旗中置一射出叉光的白日图案,实现代码如下:
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)
实现效果如下:
红底白十字旗
红底白十字旗是瑞士的国旗,与其他国家有点不同,瑞士的国旗形状是正方形的,代表了该国坚守中立的政策,实现代码如下:
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()
实现效果如下:
星条旗
星条旗是美国的国旗,由两部分组成,旗的左上方蓝底上排列着 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 绘制了几面国旗,有兴趣的可以尝试绘制一下其他国家的国旗。
示例代码:https://github.com/JustDoPython/python-examples/tree/master/yeke/py-flag
以上就是python 绘制国旗的示例的详细内容,更多关于python 绘制国旗的资料请关注其它相关文章!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]



