python 之 海龟绘图(turtle)
注:从个人博客园移植而来
使用简介
python 2.6引入的一个简单的绘图工具,俗称为海龟绘图。3.x以上使用的话,可通过pip进行安装,命令为:
pip/pip3 install turtle
如果出现如下错误:

解决方式:
-- 根据下载地址,下载其安装包:
https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz-- 下载到指定目录后,解压安装包,打开setup.py文件,找到第40行:
-- 修改其语法错误:
原:except ValueError, ve:
新:except (ValueError, ve):-- 然后使用命令:
pip/pip3 install -e turtle的安装目录
这样的话,就可以正确安装使用了。官网参考:turtle
常用方法
关于箭头的说法有的人会说海龟,有的人也会认为是箭头,注意下
| 方法 | 说明 |
|---|---|
| turtle.screensize(canvwidth=None,canvheight= None,bg= None) | 设置画布大小,宽高背景颜色,其中宽高为像素,比如:turtle.screensize(400,300,‘blue’) |
| turtle.setup(width=None,height=None,startx=None,starty=None) | 设置画布大小width, height 为整数时,表示像素;若为浮点数时,表示栈屏幕的比例,默认情况下width为0.5,height为0.75startx,starty 表示左上角顶点的位置,以像素为单位,默认窗口居中若starx为正,表示从左侧开始计算,若为负,则从右侧边缘开始计算若starty为正,表示从顶部计算,若为负,表示从下边缘计算,比如:turtle.setup(width=0.5, height=0.75, startx=0, starty=0) |
| turtle.showturtle() | 设置箭头可见,别名: st, 即turtle.st() |
| turtle.hideturtle() | 设置箭头不可见,别名: ht |
| turtle.isvisible() | 获取箭头是否可见,若可见为True,否则为False |
| turtle.setheading(to_angle=None) | 设置箭头朝向,别名: seth,比如:turtle.seth(90) |
| turtle.setx(x=None) | 设置箭头的x坐标 |
| turtle.sety(y=None) | 设置箭头的y坐标 |
| turtle.goto(x=None, y=None) | 设置画笔移动到指定位置,别名:setpos | setposition | goto |
| turtle.home() | 设置画笔的位置为原点,即为turtle.goto(0,0) turtle.setheading(0) |
| turtle.pensize(width=None) | 设置画笔宽度;别名: width |
| turtle.pencolor(‘blue’) | 设置画笔的颜色,可使用字符串如"blue"或者RGB值比如(255,2,55) |
| turtle.penup() | 画笔移动时,不绘制;别名: pu | up |
| turtle.pendown() | 画笔移动时,绘制;别名: pd | down |
| turtle.isdown() | 画笔是否在绘制,若pendown则True,若penup则False |
| turtle.speed(s=0) | 画笔的绘制速度,取值范围[0,10],其取值范围阶段为:(1,3,6,10,0)分别对应(最慢,慢,正常,快,超快) |
| turtle.forward(distance=None) | 向当前画笔方向移动distance像素长度,别名:fd |
| turtle.backward(distance=None) | 向当前画笔反方向移动distance像素长度,别名:back | bk |
| turtle.right(angle) | 顺时针旋转角度,别名:rt |
| turtle.left(angle) | 逆时针旋转角度,别名:lt |
| turtle.fillcolor(‘red’) | 设置图形填充颜色,可使用字符串如"blue"或者RGB值比如(255,2,55) |
| turtle.begin_fill() | 设置图形开始填充 |
| turtle.end_fill() | 设置图形填充完成 |
| turtle.circle(radius, extent=None, steps=None) | 绘制圆.参数依次为半径,角度,绘制的步数若半径为正,则圆心在画笔的左边,若为负则在画笔的右边;后两个参数可省略,默认为360度,步数为1 |
| turtle.write(txt, move=True, align=‘left’, font=(‘Arial’,30,‘normal’)) | 编写文本,txt为字符串文本,move为True或者False,align为left,center或者right, font为文本属性 |
| turtle.color(color1, color2) | 设置画笔的颜色和填充颜色 |
| turtle.dot(size=None,color) | 绘制指定颜色的大小的原点,要求size >= 1 |
| turtle.stamp() | 复制当前图形 |
| turtle.clear() | 清空窗口,但turle的位置和状态不会改变 |
| turtle.reset() | 清空窗口,重置turtle的状态 |
| turtle.undo() | 撤销turtle上一个动作 |
| turtle.done( ) | 绘图完成,该接口不会使得绘图完成后关闭,放置在程序的最后一行 |
| turtle.mainloop() | 启动事件循环 |
| turtle.delay(delay=None) | 设置已毫秒为单位的绘图延迟 |
| turtle.begin_poly() | 开始记录多边形的顶点。当前的箭头位置是多边形的第一个顶点 |
| turtle.end_poly() | 停止记录多边形的顶点,此处顶点位置将与第一个顶点相连 |
| turtle.get_poly() | 获取最后记录的多边形 |
绘制正方形示例相关:
#!/usr/bin/python
# coding:utf-8import time
import turtle colors = ['red', 'yellow', 'purple', 'blue']turtle.speed(10)
turtle.pensize(2)
turtle.bgcolor('black')
for index in range(0, 400):turtle.forward(2 * index)turtle.pencolor(colors[index % 4])turtle.left(90) # 角度可进行修改,查看效果turtle.done()
效果如下:

更多的示例参考了一些网友的代码,整理到了GitHub中,仅供学习参考使用。GitHub
相关文章:
python 之 海龟绘图(turtle)
注:从个人博客园移植而来 使用简介 python 2.6引入的一个简单的绘图工具,俗称为海龟绘图。3.x以上使用的话,可通过pip进行安装,命令为: pip/pip3 install turtle如果出现如下错误: 解决方式: …...
RT-Thread SPI使用教程
RT-Thread SPI 使用教程 实验环境使用的是正点原子的潘多拉开发板。 SPI从机设备使用的是BMP280温湿度大气压传感器。 使用RT-Thread Studio搭建基础功能。 1. 创建工程 使用RT-Thread Studio IDE创建芯片级的工程。创建完成后,可以直接编译下载进行测试。 2.…...
shiro使用——整合spring
shiro使用——整合spring 1. 引入相关配置 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.9.1</version></dependency>2. 自定义Realm类 继承AuthorizingRealm 并重写相…...
2023-02-20 leetcode-AccountsMerge
摘要: 记录对leetcode-AccountsMerge的反思 要求: Given a list accounts, each element accounts[i] is a list of strings, where the first element accounts[i][0] is a name, and the rest of the elements are emails representing emails of the account. * Now, w…...
中国高速公路行业市场规模及未来发展趋势
中国高速公路行业市场规模及未来发展趋势编辑中国高速公路行业市场规模正在迅速增长。随着中国经济的快速发展和城市化的加速,对交通基础设施的需求也在不断增加。高速公路是最有效的交通工具,可以大大缩短交通时间,提高出行效率。因此&#…...
佳能iC MF645CX彩色激光多功能打印机报E302-0001故障码检修
故障现象: 一台佳能iC MF645CX彩色激光多功能一体机开机报E302-0001故障代码,如果设备未恢复,请联系经销商或客户支持中心。 维修分析: 佳能iC MF645CX彩色激光多功能一体机开机报E302-0001故障代码的...
加密越来越简单——用JavaScript实现数据加密和解密
加密越来越简单——用JavaScript实现数据加密和解密概念常用算法1. MD5加密算法2. SHA-1加密算法3. AES加密算法代码示例结论总结在当今互联网的世界中,安全性越来越受到关注,数据加密成为了必不可少的一环。Javascript作为前端开发的主要语言之一&#…...
线程池的使用场景
学习整理线程池的使用场景。...
图像分割算法
图像分割算法阈值分割固定阈值自适应阈值大津阈值(OTSU)最大熵阈值连通域分析区域生长分水岭阈值分割、连通域分析、区域生长、分水岭 阈值分割 固定阈值、自适应阈值(adaptiveThreshold)、大津阈值(OTSU)、最大熵阈值(KSW) 固定阈值 固定阈值的调用函数: //Input…...
《mysql技术内幕:innodb存储引擎》笔记
任何时候Why都比What重要;不要相信任何的“神话”,学会自己思考;不要墨守成规,大部分人都知道的事情可能是错误的;不要相信网上的传言,去测试,根据自己的实践做出决定;花时间充分地思考,敢于提出质疑。1.MYSQL被设计为一个单进程多…...
windows与linux系统ntp服务器配置
一. windows 打开windows终端(管理员),顺序输入以下指令 net stop w32time w32tm /unregister w32tm /register net start w32time w32tm /resync net stop w32time net start w32timewin r 输入regedit,打开注册表。 ①将HKEY_…...
html常用font-family设置字体样式
<table border"1" cellpadding"0" cellspacing"0" ><tr><td><h3 style"font-family: 黑体;">黑体:SimHei</h3></td><td><h3 style"font-family: 华文黑体;">华…...
数据库事务AICD以及隔离级别
目录一.事务的ACID二.隔离级别三.并发事务中的问题1.脏写2.脏读3.不可重复读4.幻读四.MVCC机制五.读锁与写锁六.大事务的影响七.事务优化一.事务的ACID 原子性(Atomicity):一个事务中的所有操作,要么全部成功,要么失败全部回滚,不…...
(4)VScode之ssh基础配置
VScode和SSH基础配置问题集合 Author:onceday date:2022年8月31日 本文记录linux的ssh和vscode开发环境搭建之路。 参考文档: 离线安装vscode Once Day CSDN博客关于x86、x86_64/x64、amd64和arm64/aarch64 Bogon 简书arm64和aarch64之间…...
springcloud-1环境搭建、service provider
搭建项目环境创建新项目,选择archetype-webapp,创建一个父项目,该父项目会去管理多个微服务模块(module)项目设置Settings->Editor->File Encoding:Global/Project Encoding 改为UTF-8Default encoding for properties files:默认属性文…...
光谱仪工作过程及重要参数定义
标题光谱仪工作过程CCD、PDA薄型背照式BT-CCD狭缝Slit暗电流Dark Current分辨率Resolution色散Dispersion光栅和闪耀波长Grating波长精度、重复性和准确度Precision带宽Band widthF数F/#光谱仪工作过程 CCD、PDA 电荷耦合器件(Charger Coupled Device,缩…...
W800|iot|HLK-W800-KIT-PRO|AliOS|阿里云| |官方demo|学习(1):板载AliOS系统快速上手
板载系统简介 HLK-W800-KIT-PRO 是海凌科电子面向开发者,采用了联盛德 w800 方案,带有一个RGB三色灯,集成了 CHT8305C 温湿度传感器的多功能开发板,用户可以在上面学习、研究嵌入式系统和物联网产品的开发,本套设备运行…...
字节终面,一道Linux题难住我了
以下是一道难道系数中高并且高频出现的linux面试题,题目具体要求如下: linux面试题: 某文件有多列数据,空格隔开,统计第n列单词,打印出现频率最高的5个单词。 解答这道面试题需要用到3个linux命令ÿ…...
三、NetworkX工具包实战2——可视化【CS224W】(Datawhale组队学习)
开源内容:https://github.com/TommyZihao/zihao_course/tree/main/CS224W 子豪兄B 站视频:https://space.bilibili.com/1900783/channel/collectiondetail?sid915098 斯坦福官方课程主页:https://web.stanford.edu/class/cs224w NetworkX…...
【MySQL】MySQL 架构
一、MySQL 架构 C/S 架构,即客户端/服务器架构。服务器程序直接和我们存储的数据打交道,多个客户端连接这个服务器程序。客户端发送请求,服务器响应请求。 MySQL 数据库实例 :即 MySQL 服务器的进程 (我们使用任务管理…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
