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网络编程之数据传输UDP实例分析
May 20 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
深入解析Python的Tornado框架中内置的模板引擎
Jul 11 Python
python对json的相关操作实例详解
Jan 04 Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
Python之读取TXT文件的方法小结
Apr 27 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python装饰器练习题及答案
Nov 01 Python
详解Python设计模式之策略模式
Jun 15 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 Python
python 基于DDT实现数据驱动测试
Feb 18 Python
Python中for后接else的语法使用
May 18 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作的文本留言本的例子(二)
2006/10/09 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
JS中的三个循环小结
2017/06/20 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
机关门卫制度
2014/02/01 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
向女朋友道歉的话
2015/01/20 职场文书
小学班主任个人总结
2015/03/03 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python