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正则表达式re模块详解
Jun 25 Python
python实现中文输出的两种方法
May 09 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
Python实现读取json文件到excel表
Nov 18 Python
python reduce 函数使用详解
Dec 05 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
python中sys.argv函数精简概括
Jul 08 Python
python使用多进程的实例详解
Sep 19 Python
让代码变得更易维护的7个Python库
Oct 09 Python
在Python中,不用while和for循环遍历列表的实例
Feb 20 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 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
给多个地址发邮件的类
2006/10/09 PHP
php 计算两个时间戳相隔的时间的函数(小时)
2009/12/18 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
[01:14]DOTA2 7.22版本新增神杖效果展示(智力英雄篇)
2019/05/29 DOTA
六个窍门助你提高Python运行效率
2015/06/09 Python
python 网络编程详解及简单实例
2017/04/25 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Django URL参数Template反向解析
2020/11/24 Python
YSL Beauty加拿大官方商城:圣罗兰美妆加拿大
2017/05/15 全球购物
联想加拿大官方网站:Lenovo Canada
2018/04/05 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
学期评语大全
2014/04/30 职场文书
创先争优承诺书
2015/01/20 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库