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 14 Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
Python算法应用实战之栈详解
Feb 04 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
python实现贪吃蛇小游戏
Mar 21 Python
Python基于opencv调用摄像头获取个人图片的实现方法
Feb 21 Python
Python 实现取多维数组第n维的前几位
Nov 26 Python
Python中如何将一个类方法变为多个方法
Dec 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操作csv文件代码实例汇总
2014/09/22 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
Laravel实现表单提交
2017/05/07 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
JQuery live函数
2010/12/24 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
JS实现根据出生年月计算年龄
2014/01/10 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
js闭包的用途详解
2014/11/09 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
Python二分查找详解
2015/09/13 Python
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
Java面试题及答案
2012/09/08 面试题
李强为自己工作观后感
2015/06/11 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS