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进阶教程之函数对象(函数也是对象)
Aug 30 Python
用Python设计一个经典小游戏
May 15 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
浅析Python3 pip换源问题
Jan 06 Python
python中文分词库jieba使用方法详解
Feb 11 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 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 json与xml序列化/反序列化
2013/10/28 PHP
php创建无限级树型菜单
2015/11/05 PHP
一个简单的php路由类
2016/05/29 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
Express的路由详解
2015/12/10 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
python调用cmd命令行制作刷博器
2014/01/13 Python
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
python安装scipy的步骤解析
2019/09/28 Python
python如何支持并发方法详解
2020/07/25 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
期终自我鉴定
2014/02/17 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
增员口号大全
2014/06/18 职场文书
信仰心得体会
2014/09/05 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技