使用Python的turtle模块可以绘制国旗。以下是一个示例代码,展示了如何使用turtle模块绘制五星红旗:
```python
import turtle
import math
def draw_polygon(aTurtle, size=50, n=3):
''' 绘制正多边形 '''
for i in range(n):
aTurtle.forward(size)
aTurtle.left(360.0 / n)
def draw_n_angle(aTurtle, size=50, num=5, color=None):
''' 绘制正n角形,默认为黄色 '''
if color:
aTurtle.begin_fill()
for _ in range(num):
draw_polygon(aTurtle, size)
aTurtle.left(144.0)
if color:
aTurtle.end_fill()
设置画布和画笔
screen = turtle.Screen()
screen.bgcolor("white")
pen = turtle.Turtle()
pen.speed(1)
pen.color("red")
pen.pensize(2)
绘制红旗旗面
pen.begin_fill()
pen.fillcolor("red")
draw_polygon(pen, size=300, n=3)
pen.left(90)
pen.forward(600)
pen.left(90)
pen.forward(300)
pen.end_fill()
绘制五颗五角星
大五角星
pen.penup()
pen.goto(-150, 150)
pen.pendown()
draw_n_angle(pen, size=100, num=5, color="yellow")
四颗小五角星
pen.penup()
pen.goto(-75, 100)
pen.pendown()
draw_n_angle(pen, size=50, num=5, color="yellow")
pen.penup()
pen.goto(25, 100)
pen.pendown()
draw_n_angle(pen, size=50, num=5, color="yellow")
pen.penup()
pen.goto(100, 100)
pen.pendown()
draw_n_angle(pen, size=50, num=5, color="yellow")
pen.penup()
pen.goto(175, 100)
pen.pendown()
draw_n_angle(pen, size=50, num=5, color="yellow")
隐藏画笔
pen.hideturtle()
结束绘制
turtle.done()
```
代码解释:
导入模块:
导入`turtle`模块用于绘图。
绘制多边形:
定义`draw_polygon`函数用于绘制正多边形。
绘制五角星:
定义`draw_n_angle`函数用于绘制正五角星,可以指定颜色。
设置画布和画笔:
设置画布背景色为白色,画笔颜色为红色,画笔宽度为2。
绘制红旗旗面:
使用`draw_polygon`函数绘制一个长方形作为旗面,长为600,宽为300。
绘制五角星:
分别绘制大五角星和四颗小五角星,位置和角度经过计算。
隐藏画笔:
绘制完成后隐藏画笔。
结束绘制:
使用`turtle.done()`结束绘图。
通过运行上述代码,你可以在Python环境中使用turtle模块绘制出五星红旗。