Python 内置turtle模块 —— 画一面国旗(基础篇)

# 用 turtle模块 画一面国旗

"""
思考:
    1、怎么导入和使用 turtle模块?
    2、你对 turtle模块 了解有多少?

介绍:
    1、turtle模块 是一个很强大的 Python内置模块
    2、理论上大部分的图案都可以用 turtle模块 画出来
    3、现在就来和大家浅学一下 turtle模块 用法:画一张国旗
    4、学习链接1:
    https://baijiahao.baidu.com/s?id=1731089610379329097&wfr=spider&for=pc
    5、学习链接2:
    https://baijiahao.baidu.com/s?id=1725107338810301965&wfr=spider&for=pc

不足:
    1、本程序画的国旗还不是很完美,有待改善
    2、我也是一个Python初学者,对turtle模块的使用还不是很熟练

创新:
    1、画一个爱心只是一个开始,小伙伴们可以尝试画多个圆组成奥运会图案
    2、如果不满足此,可以挑战画一个中国国旗
"""


import turtle       # 导入模块


# 调整画笔位置
def pen_place(x=0.0, y=0.0):
    t1.penup()
    t1.goto(x=x, y=y)
    t1.pendown()


# 画五角星
def five_pointed_star(size, andle=0.0):
    t1.right(angle=andle)

    for i in range(5):
        t1.forward(distance=size)
        t1.right(angle=144)


# 画布设置
turtle.bgcolor('pink')      # 画布背景颜色
turtle.Screen().title(titlestring='我为我生在中国感到骄傲')

# 画笔设置
t1 = turtle.Pen()
t1.color('silver')


# 画笔位置调整
pen_place(x=0, y=-200)

# 画旗杆
t1.begin_fill()
t1.hideturtle()
t1.left(angle=110)
t1.circle(radius=10)
t1.forward(distance=400)
t1.circle(radius=10, extent=180)
t1.forward(distance=400)
t1.end_fill()


# 画笔位置调整
t1.showturtle()
t1.penup()
t1.back(distance=400)
t1.circle(radius=10, extent=180)
t1.pendown()

t1.color('red')     # 设置画笔和填充颜色

# 画国旗
t1.begin_fill()
t1.right(angle=135)
t1.circle(radius=100, extent=50)
t1.circle(radius=-100, extent=50)
t1.circle(radius=100, extent=70)
t1.circle(radius=-20, extent=50)

t1.right(angle=100)
t1.circle(radius=100, extent=40)
t1.circle(radius=-100, extent=30)
t1.circle(radius=100, extent=50)

t1.right(angle=120)
t1.circle(radius=-100, extent=40)
t1.circle(radius=100, extent=50)
t1.circle(radius=-140, extent=56)
t1.end_fill()


t1.color('yellow')      # 设置画笔和填充颜色

# 调整画笔位置
pen_place(x=-45, y=90)

# 画第一个五角星
t1.begin_fill()
five_pointed_star(size=40)
t1.end_fill()

# 调整画笔位置
pen_place(x=-20, y=140)

# 画第二个五角星
t1.begin_fill()
five_pointed_star(size=20, andle=15)
t1.end_fill()

# 调整画笔位置
pen_place(x=0, y=120)

# 画第三个五角星
t1.begin_fill()
five_pointed_star(size=20, andle=25)
t1.end_fill()

# 调整画笔位置
pen_place(x=0, y=93)

# 画第四个五角星
t1.begin_fill()
five_pointed_star(size=20, andle=30)
t1.end_fill()

# 调整画笔位置
pen_place(x=-20, y=70)

# 画第五个五角星
t1.begin_fill()
five_pointed_star(size=20, andle=25)
t1.end_fill()


t1.hideturtle()     # 隐藏画笔
turtle.done()       # 保持画布呈现


运行结果:

3d5f1b297f8e4d689bee4c4771a54cba.png

 作者:周华

创作日期:2022/6/21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值