Python使用Turtle模块绘制国旗的方法示例


Posted in Python onFebruary 28, 2021

turtle模块

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

turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线。

你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形。

基本操作(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):
 """
 绘制五角星
 :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模块绘制国旗的文章就介绍到这了,更多相关Python Turtle模块绘制国旗内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python控制台显示时钟的示例
Feb 24 Python
使用Python编写vim插件的简单示例
Apr 17 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
python解决网站的反爬虫策略总结
Oct 26 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
Python requests发送post请求的一些疑点
May 20 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
Jul 04 Python
Django REST framework 如何实现内置访问频率控制
Jul 23 Python
django将网络中的图片,保存成model中的ImageField的实例
Aug 07 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
python爬虫selenium模块详解
Mar 30 Python
Python页面加载的等待方式总结
Feb 28 #Python
Python Selenium操作Cookie的实例方法
Feb 28 #Python
Python Selenium异常处理的实例分析
Feb 28 #Python
python常量折叠基础知识点讲解
Feb 28 #Python
Django后端按照日期查询的方法教程
Feb 28 #Python
python元组拆包实现方法
Feb 28 #Python
python定义具名元组实例操作
Feb 28 #Python
You might like
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php获取图片信息的方法详解
2015/12/10 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
js+css3实现简单时钟特效
2020/09/13 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
详解Python if-elif-else知识点
2018/06/11 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
Python读取csv文件实例解析
2019/12/30 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
Python3.9新特性详解
2020/10/10 Python
秋季婚礼证婚词
2014/01/11 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
创新比赛获奖感言
2014/02/13 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
农行心得体会
2014/09/02 职场文书
在校学生证明格式
2015/06/24 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
Redis分布式锁Redlock的实现
2021/08/07 Redis
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏