turtle模块:python内置的绘图工具
turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线。
你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形。
其他的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):
"""
绘制五角星
: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()
运行结果

到此这篇关于Python使用Turtle模块绘制国旗的文章就介绍到这了,更多相关Python Turtle模块绘制国旗内容请搜索菜鸟教程(cainiaojc.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持菜鸟教程(cainiaojc.com)!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。