当前位置: 首页 > news >正文

python 之 海龟绘图(turtle)

注:从个人博客园移植而来


使用简介

python 2.6引入的一个简单的绘图工具,俗称为海龟绘图。3.x以上使用的话,可通过pip进行安装,命令为:

pip/pip3 install turtle

如果出现如下错误:

img

解决方式:

-- 根据下载地址,下载其安装包:
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…...

中国高速公路行业市场规模及未来发展趋势

中国高速公路行业市场规模及未来发展趋势编辑中国高速公路行业市场规模正在迅速增长。随着中国经济的快速发展和城市化的加速&#xff0c;对交通基础设施的需求也在不断增加。高速公路是最有效的交通工具&#xff0c;可以大大缩短交通时间&#xff0c;提高出行效率。因此&#…...

佳能iC MF645CX彩色激光多功能打印机报E302-0001故障码检修

故障现象: 一台佳能iC MF645CX彩色激光多功能一体机开机报E302-0001故障代码,如果设备未恢复,请联系经销商或客户支持中心。 维修分析: 佳能iC MF645CX彩色激光多功能一体机开机报E302-0001故障代码的...

加密越来越简单——用JavaScript实现数据加密和解密

加密越来越简单——用JavaScript实现数据加密和解密概念常用算法1. MD5加密算法2. SHA-1加密算法3. AES加密算法代码示例结论总结在当今互联网的世界中&#xff0c;安全性越来越受到关注&#xff0c;数据加密成为了必不可少的一环。Javascript作为前端开发的主要语言之一&#…...

线程池的使用场景

学习整理线程池的使用场景。...

图像分割算法

图像分割算法阈值分割固定阈值自适应阈值大津阈值(OTSU)最大熵阈值连通域分析区域生长分水岭阈值分割、连通域分析、区域生长、分水岭 阈值分割 固定阈值、自适应阈值(adaptiveThreshold)、大津阈值(OTSU)、最大熵阈值(KSW) 固定阈值 固定阈值的调用函数&#xff1a; //Input…...

《mysql技术内幕:innodb存储引擎》笔记

任何时候Why都比What重要&#xff1b;不要相信任何的“神话”,学会自己思考&#xff1b;不要墨守成规,大部分人都知道的事情可能是错误的&#xff1b;不要相信网上的传言,去测试,根据自己的实践做出决定&#xff1b;花时间充分地思考,敢于提出质疑。1.MYSQL被设计为一个单进程多…...

windows与linux系统ntp服务器配置

一. windows 打开windows终端&#xff08;管理员&#xff09;&#xff0c;顺序输入以下指令 net stop w32time w32tm /unregister w32tm /register net start w32time w32tm /resync net stop w32time net start w32timewin r 输入regedit&#xff0c;打开注册表。 ①将HKEY_…...

html常用font-family设置字体样式

<table border"1" cellpadding"0" cellspacing"0" ><tr><td><h3 style"font-family: 黑体;">黑体&#xff1a;SimHei</h3></td><td><h3 style"font-family: 华文黑体;">华…...

数据库事务AICD以及隔离级别

目录一.事务的ACID二.隔离级别三.并发事务中的问题1.脏写2.脏读3.不可重复读4.幻读四.MVCC机制五.读锁与写锁六.大事务的影响七.事务优化一.事务的ACID 原子性(Atomicity)&#xff1a;一个事务中的所有操作&#xff0c;要么全部成功&#xff0c;要么失败全部回滚&#xff0c;不…...

(4)VScode之ssh基础配置

VScode和SSH基础配置问题集合 Author&#xff1a;onceday date&#xff1a;2022年8月31日 本文记录linux的ssh和vscode开发环境搭建之路。 参考文档&#xff1a; 离线安装vscode Once Day CSDN博客关于x86、x86_64/x64、amd64和arm64/aarch64 Bogon 简书arm64和aarch64之间…...

springcloud-1环境搭建、service provider

搭建项目环境创建新项目&#xff0c;选择archetype-webapp&#xff0c;创建一个父项目&#xff0c;该父项目会去管理多个微服务模块(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 电荷耦合器件&#xff08;Charger Coupled Device&#xff0c;缩…...

W800|iot|HLK-W800-KIT-PRO|AliOS|阿里云| |官方demo|学习(1):板载AliOS系统快速上手

板载系统简介 HLK-W800-KIT-PRO 是海凌科电子面向开发者&#xff0c;采用了联盛德 w800 方案&#xff0c;带有一个RGB三色灯&#xff0c;集成了 CHT8305C 温湿度传感器的多功能开发板&#xff0c;用户可以在上面学习、研究嵌入式系统和物联网产品的开发&#xff0c;本套设备运行…...

字节终面,一道Linux题难住我了

以下是一道难道系数中高并且高频出现的linux面试题&#xff0c;题目具体要求如下&#xff1a; linux面试题&#xff1a; 某文件有多列数据&#xff0c;空格隔开&#xff0c;统计第n列单词&#xff0c;打印出现频率最高的5个单词。 解答这道面试题需要用到3个linux命令&#xff…...

三、NetworkX工具包实战2——可视化【CS224W】(Datawhale组队学习)

开源内容&#xff1a;https://github.com/TommyZihao/zihao_course/tree/main/CS224W 子豪兄B 站视频&#xff1a;https://space.bilibili.com/1900783/channel/collectiondetail?sid915098 斯坦福官方课程主页&#xff1a;https://web.stanford.edu/class/cs224w NetworkX…...

【MySQL】MySQL 架构

一、MySQL 架构 C/S 架构&#xff0c;即客户端/服务器架构。服务器程序直接和我们存储的数据打交道&#xff0c;多个客户端连接这个服务器程序。客户端发送请求&#xff0c;服务器响应请求。 MySQL 数据库实例 &#xff1a;即 MySQL 服务器的进程 &#xff08;我们使用任务管理…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...