怎么用Python画国家的国旗

发布时间:2022-02-23 15:11:12 作者:小新
来源:亿速云 阅读:384

这篇文章主要为大家展示了“怎么用Python画国家的国旗”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用Python画国家的国旗”这篇文章吧。

五星红旗

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

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画国家的国旗”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. 使用Python的turtle模块画国旗
  2. python用画散点图的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Java语法糖实例分析

下一篇:java字符串长度如何计算

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》