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实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
Python 2.7.x 和 3.x 版本的重要区别小结
Nov 28 Python
Python中使用第三方库xlrd来写入Excel文件示例
Apr 05 Python
Python随手笔记之标准类型内建函数
Dec 02 Python
python list元素为tuple时的排序方法
Apr 18 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
Python tkinter常用操作代码实例
Jan 03 Python
Python基于QQ邮箱实现SSL发送
Apr 26 Python
Python实现像awk一样分割字符串
Sep 15 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 Python
七个Python必备的GUI库
Apr 27 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出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
php中异常处理方法小结
2015/01/09 PHP
php控制文件下载速度的方法
2015/03/24 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
怎么判断js脚本加载完成
2014/02/28 Javascript
nodejs npm package.json中文文档
2014/09/04 NodeJs
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
Vue计算属性的使用
2017/08/04 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
Python 连连看连接算法
2008/11/22 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
师范生自我鉴定
2014/03/20 职场文书
美容院店长岗位职责
2014/04/08 职场文书
班级旅游计划书
2014/05/03 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL