用 Python 画了几面国旗

国旗是一个国家的象征,它可以反映一个国家的特色和传统,国旗起源于近代的欧洲,是一个国家主权意识不断增强后的必然产物,本文我们使用 Python 来画几面国旗,使用的 Python 库是大家比较熟悉的 turtle。

五星红旗

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

python highlighter-rouge">

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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()

foriinrange(5):

turtle.forward(150)

turtle.right(144)

turtle.end_fill()

# 副星

turtle.begin_fill()

turtle.up()

turtle.goto(-100,180)

turtle.setheading(305)

turtle.down()

foriinrange(5):

turtle.forward(50)

turtle.left(144)

turtle.end_fill()

turtle.begin_fill()

turtle.up()

turtle.goto(-50,110)

turtle.setheading(30)

turtle.down()

foriinrange(5):

turtle.forward(50)

turtle.right(144)

turtle.end_fill()

turtle.begin_fill()

turtle.up()

turtle.goto(-40,50)

turtle.setheading(5)

turtle.down()

foriinrange(5):

turtle.forward(50)

turtle.right(144)

turtle.end_fill()

turtle.begin_fill()

turtle.up()

turtle.goto(-100,10)

turtle.setheading(300)

turtle.down()

foriinrange(5):

turtle.forward(50)

turtle.left(144)

turtle.end_fill()

turtle.hideturtle()

turtle.done()

实现效果如下:

用 Python 画了几面国旗

红底白十字旗

红底白十字旗是瑞士的国旗,与其他国家有点不同,瑞士的国旗形状是正方形的,代表了该国坚守中立的政策,实现代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
defdraw_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)

foriinrange(4):

aTurtle.pendown()

aTurtle.fd(width)

aTurtle.rt(90)

aTurtle.fd(height)

aTurtle.rt(90)

aTurtle.fd(width)

aTurtle.lt(90)

aTurtle.end_fill()

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

实现效果如下:

用 Python 画了几面国旗

星条旗

星条旗是美国的国旗,由两部分组成,旗的左上方蓝底上排列着 50 颗白色的星,其余部分是 13 道红白相间的条子,实现代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 画条纹

defdrawSquar():

turtle.color('black','red')

turtle.begin_fill()

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

# 画左上角的小矩形

defdrawSmallsqure():

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

# 画左上角的星星

defdrawSrarts():

x=-10

y=0

forkinrange(4):

x=-15

foriinrange(6):

turtle.goto(x,y)

turtle.color('white')

turtle.begin_fill()

forjinrange(5):

turtle.left(144)

turtle.forward(20)

x-=50

turtle.end_fill()

y+=350/13*2

x=-10

y=350/13

foriinrange(3):

x=-35

forjinrange(5):

turtle.goto(x,y)

turtle.color('white')

turtle.begin_fill()

forkinrange(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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
turtle.setup(width=600,height=400)

# 设置画笔起点

turtle.penup()

turtle.goto(0,-50)

turtle.pendown()

# 设置画笔属性

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

实现效果如下:

用 Python 画了几面国旗

总结

本文我们使用 Python 绘制了几面国旗,有兴趣的可以尝试绘制一下其他国家的国旗。

示例代码:https://github.com/JustDoPython/python-examples/tree/master/yeke/py-cflag

以上是 用 Python 画了几面国旗 的全部内容, 来源链接: utcz.com/a/129479.html

回到顶部