Python Turtle 模块绘制flag

Python Turtle 模块绘制flag

Python Turtle 模块绘制flag

turtle模块:python内置的绘图工具

基本操作(Turtle方法)

turtle.forward(step):前进step个像素
turtle.back(step):后退step个像素
turtle.right():右转一个角度
turtle.left():左转一个角度
turtle.pencolor(“string”):画笔颜色
turtle.fillcolor(“string”):填充颜色
turtle.speed(int):运动速度

其他的turtle方法可以参见python官网

https://docs.python.org/zh-cn/3.7/library/turtle.html

具体代码实现

import turtle
import time


def draw__stars(tur, step, x, y, arg):
    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):
    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()


评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhh江月

您的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值