# 用 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() # 保持画布呈现
运行结果:
作者:周华
创作日期:2022/6/21