转载一篇《Python Turtle模块绘制五星红旗》供大家学习参考

python内置的绘图工具turtle模块

使用到Turtle方法的基本操作
turtle.forward(step):前进step个像素
turtle.back(step):后退step个像素
turtle.right():右转一个角度
turtle.left():左转一个角度
turtle.pencolor(“string”):画笔颜色
turtle.fillcolor(“string”):填充颜色
turtle.speed(int):运动速度

代码如下:

# 绘画
# 中国国旗 五星红旗
# 转载请标明出处!!


import turtle
import time


def draw__stars(tur, step, x, y, arg):
    """
    绘制五角星
    :param tur: turtle object
    :param step: 五角星一条边的长度
    :param x: 开始绘制五角星的起点x坐标
    :param y: 开始绘制五角星的起点y坐标
    :param arg:
    :return:
    """
    tur.pencolor('yellow')
    tur.fillcolor('yellow')
    tur.up()
    tur.goto(x, y)
    tur.begin_fill()
    tur.down()
    tur.right(arg)
    tur.forward(step)
    tur.right(144)
    tur.forward(step)
    tur.right(144)
    tur.forward(step)
    tur.right(144)
    tur.forward(step)
    tur.right(144)
    tur.forward(step)
    tur.right(144)
    tur.end_fill()


def draw__flag(tur, wide, height):
    """
    绘制国旗的长方形形状
    :param tur: turtle object
    :param wide: the width of the flag
    :param height: the height of the flag
    :return: None
    """
    tur.pencolor('red')
    tur.fillcolor('red')
    tur.goto(- wide / 2, height / 2)
    tur.begin_fill()
    tur.forward(wide)
    tur.right(90)
    tur.forward(height)
    tur.right(90)
    tur.forward(wide)
    tur.right(90)
    tur.forward(height)
    tur.end_fill()


if __name__ == '__main__':
    """
    main 函数
    """
    # tur = turtle.Turtle()
    turtle.screensize(canvwidth=3000, canvheight=2000, bg=None)
    # 绘制star的turtle对象
    tur_star = turtle.Turtle()
    # 绘制flag的turtle对象
    tur_flag = turtle.Turtle()
    tur_flag.speed(3)
    tur_star.speed(3)
    # 隐藏turtle对象
    tur_star.hideturtle()
    tur_flag.hideturtle()
    # 间隔3秒,可以没有,这个是我调试时加上去的
    time.sleep(3)
    # 绘制长方形
    draw__flag(tur_flag, 630, 420)
    # 绘制五角星,在合适的位置进行绘制五角星
    # 调用五次函数绘制五颗五角星
    draw__stars(tur_star, step=60, x=-280, y=155, arg=0)
    draw__stars(tur_star, step=25, x=-182, y=177, arg=- 25)
    draw__stars(tur_star, step=25, x=-175, y=125, arg=41)
    draw__stars(tur_star, step=25, x=-208, y=79, arg=23)
    draw__stars(tur_star, step=25, x=-265, y=75, arg=48)
    # 使画面锁定
    turtle.done()

运行结果