Python如何使用turtle库绘制图形


Posted in Python onFebruary 26, 2020

1. 前奏:

在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块,想要进行运算可以引入numpy模块。

需要注意: 在pycharm 中 turtle 是不支持提示的,可能是动态语言的一种毛病吧

turtle绘图常用的函数有:

Python如何使用turtle库绘制图形

操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令

(1)画笔运动命令:

命令 说明

  • turtle.forward(distance) 向当前画笔方向移动distance像素长
  • turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
  • turtle.right(degree) 顺时针移动degree°
  • turtle.left(degree) 逆时针移动degree°
  • turtle.pendown() 移动时绘制图形,缺省时也为绘制
  • turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
  • turtle.penup() 移动时不绘制图形,提起笔,用于另起一个地方绘制时用
  • turtle.speed(speed) 画笔绘制的速度范围[0,10]整数
  • turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

(2)画笔控制命令:

命令 说明

  • turtle.pensize(width) 绘制图形时的宽度
  • turtle.pencolor() 画笔颜色
  • turtle.fillcolor(colorstring) 绘制图形的填充颜色
  • turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
  • turtle.filling() 返回当前是否在填充状态
  • turtle.begin_fill() 准备开始填充图形
  • turtle.end_fill() 填充完成;
  • turtle.hideturtle() 隐藏箭头显示;
  • turtle.showturtle() 与hideturtle()函数对应

(3) 全局控制命令

命令 说明

  • turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会改变
  • turtle.reset() 清空窗口,重置turtle状态为起始状态
  • turtle.undo() 撤销上一个turtle动作
  • turtle.isvisible() 返回当前turtle是否可见
  • stamp() 复制当前图形
  • turtle.write(s[,font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

2. 需要说明的

(1): 在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟. 这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态 这个命令就是goto();

(2): turtle.circle(radius, extent=None, steps=None)描述: 以给定半径画圆

参数:

  • radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆
  • extent(弧度) (optional);
  • steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)

举例:

  • circle(50) # 整圆;
  • circle(50,steps=3) # 三角形;
  • circle(120, 180) # 半圆

(3) 填充 start_fill() end_fill()

参数为空 表示在一个画笔运动状态结束的时候,填充的内容颜色

3.具体例子:

绘制一个正方形

Python如何使用turtle库绘制图形

Python如何使用turtle库绘制图形

4.绘制 五角星

Python如何使用turtle库绘制图形

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python list中append()与extend()用法分享
Mar 24 Python
Python上传package到Pypi(代码简单)
Feb 06 Python
python中的字典使用分享
Jul 31 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
Mar 13 Python
浅析PHP与Python进行数据交互
May 15 Python
一百行python代码将图片转成字符画
Feb 19 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
详解Python中的测试工具
Jun 09 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 Python
python实现简单的三子棋游戏
Apr 28 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 #Python
Python定时器线程池原理详解
Feb 26 #Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 #Python
Python列表解析操作实例总结
Feb 26 #Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 #Python
python实现低通滤波器代码
Feb 26 #Python
Python解释器及PyCharm工具安装过程
Feb 26 #Python
You might like
基于php 随机数的深入理解
2013/06/05 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
javascript常用的设计模式
2017/02/09 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
基于Node.js实现压缩和解压缩的方法
2018/02/13 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
js实现简单进度条效果
2020/03/25 Javascript
python列表生成式与列表生成器的使用
2018/02/23 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
Final类有什么特点
2012/04/25 面试题
小学生十佳少年事迹材料
2014/08/20 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS