turtle使用文档

2023-11-17

Turtle简介

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

Turtle基本操作

画布

画布就是turtle为我们展开用于绘图区域,我们可以使用以下代码设置它的大小和初始位置:

turtle.screensize(canvwidth=None,canvheight=None,bg=None)
# 参数分别为画布的宽(单位像素),高,背景颜色
turtle.screensize(800,600,"green")
# 宽高分别为800,600像素的画框,背景设为绿色
turtle.screensize()
#返回默认大小(400,300)
turtle.setup(width=0.5,height=0.75,startx=None,starty=None)
# 参数:width,height:输入宽和高为整数时,表示像素;为小数时,表示占据电脑屏幕的比例,(startx,starty):这一坐标表示矩形窗口左上角顶点的位置,如果为空,则窗口位于屏幕中心。
画笔
画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态,可使用以下方法进行设置:

方法 作用
right(degree) 顺时针转动degree度
left(degree) 逆时针转动degree度
setheading(angle) 设置朝向为angle角度(默认为0度朝东)
pendown() 画笔落下
penup() 画笔抬起
画笔的属性

可以使用以下方法设置画笔的颜色,线条的粗细等属性:

方法 作用
pensize() 设置画笔线条的粗细
pencolor() 设置画笔线条颜色
speed() 设置画笔的速度

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

画笔的运动
方法 作用
forward(distance) 画笔向前移动
backword(distance) 画笔向后移动
goto(x,y) 画笔移动到某个坐标
circle(r,extent,step) 画出以r为半径的圆,extent为弧度,step为多边形的边数
setx(x) 将x轴移动到某个位置
sety(y) 将y轴移动到某个位置
dot® 画出以r为半径的圆点
画笔的控制
方法 作用
fillcolor(colorstring) 设置画图时填充的颜色
color(color1,color2) 设置画笔颜色和填充颜色
begin_fill() 开始填充
end_fill() 结束填充
hideturtle() 隐藏画笔
showturtle() 显示画笔
全局控制及其他
方法 作用
clear() 清空窗口,画笔状态不变
reset() 清空窗口,画笔状态复原
stamp() 复制当前图形
write(s,font=(fontname,fontsize,fonttype)) 写文本,可设置字体
mode() 设置画笔模式,standard:向右,逆时针;logo:向上,顺时针
mainloop()/done() 启动程序循环
delay(t) 设置绘图延时
示例
from turtle import *           # 引用turtle库
fillcolor("red")               # 设置填充颜色为红色
begin_fill()                   # 开始绘制
while True:
    forward(200)
    right(144)
    if abs(pos()) < 1:
        break
end_fill()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

turtle使用文档 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • Python、Tkinter、更改标签颜色

    有没有一种简单的方法来更改按钮中文本的颜色 I use button text input text here 更改按下后按钮文本的内容 是否存在类似的颜色变化 button color red Use the foreground设置按钮
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql

随机推荐

  • iptables上如何封IP

    一 封单个IP 1 封锁单个ip iptables I INPUT s IP j DROP root node1 iptables I INPUT s 192 168 1 11 j DROP root node1 iptables L Ch
  • 内网渗透之AccessToken窃取与利用

    文章目录 令牌 Token AccessToken的窃取与利用 1 程序 incognito exe 2 MSF下的incognito模块 3 Invoke TokenManipulation ps1脚本 MSF实战假冒令牌提权 令牌 To
  • MES管理系统的哪些优势对企业帮助比较大

    随着全球制造业的快速发展 MES制造执行系统已成为企业生产管理的重要工具 MES管理系统解决方案集成了企业生产流程中的各个环节 包括计划 调度 质量 设备等 为企业提供了全面的生产管理解决方案 制造企业MES系统的优势颇多 其中对企业帮助比
  • Nginx反向代理配置

    首先配置反向代理前已经要把之前配置过的伪静态删除掉 不然保存的时候报错以下是反向代理的完整配置 请注意其中的端口号 8000 当前这个端口号就是 config swoole php文件中的server port配置中的端口号 locatio
  • Admin监控&Sleuth链路追踪 &skywalking链路追踪

    Admin监控 Sleuth链路追踪 skywalking Sleuth Zipkin 一 Sleuth Zipkin介绍 二 搭建环境 三 Sleuth入门操作 四 Zipkin搭建及操作 五 RabbitMQ方式发送信息 六 Elast
  • Net跨平台UI框架Avalonia入门-DataGrid的使用

    Avalonia中的DataGrid的使用 DataGrid 数据表格是客户端UI中很重要的一个控件 Avalonia中的DataGrid是单独一个包Avalonia Controls DataGrid 要使用DataGrid 需要另外在N
  • 3559 编译gdb-7.9

    1 安装ncurses 6 0 这个在3559 sdk中有 可以直接使用 configure with shared without debug without ada enable overwrite 2 编译gdb configure
  • 1007. 素数对猜想 (20)

    让我们定义 dn 为 dn pn 1 pn 其中 pi 是第i个素数 显然有 d1 1 且对于n gt 1有 dn 是偶数 素数对 猜想 认为 存在无穷多对相邻且差为2的素数 现给定任意正整数N lt 105 请计算不超过N的满足猜想的素数
  • pragma指令简介

    在编写程序的时候 我们经常要用到 pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作 下面介绍了一下该指令的一些常用参数 希望对大家有所帮助 一 message 参数 message 它能够在编译信息输出窗 口中输出相应的
  • java包装类

    1 概述 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用操作方法之一 用于基本数据类型与字符串之间的转换 2 Integer 2 1构造方法 2 1 1 public Integer int number
  • 12 C++的多态

    文章目录 一 多态的概念 1 1 多态的构成条件 二 虚函数 2 1 虚函数的重写 2 2 虚函数重写的例外 协变 父类与子类虚函数返回值类型不同 析构函数的重写 基类与派生类析构函数的名字不同 三 C 11 override和final
  • Truffle测试框架

    Truffle测试框架 Truffle 有一个标准的自动化测试框架 让你可以非常方便地测试您的合约 这个框架允许您以两种不同的方式编写简单可控的测试 1 在 JavaScript中 用于执行来自外部世界的合约 就像您的应用程序一样 2 在
  • keil5点击调试提示SarmCM3.dll文件缺少问题

    这里继续分享一个在keil5点击Debug调试时候 提示缺少SarmCM3 dll文件问题 如图所示 这里提示我缺少一个SarmCM3 dll文件 因此我们只需要从网上找一个相应的文件加到BIN文件夹下即可 文件如图所示 解决方法 下载Sa
  • 内存操作函数【快速了解内存函数的作用和实现】

    文章目录 前言 内存操作函数的共性 memcpy 函数的定义 memmove 函数的定义 memcmp 函数的定义 函数的共性 memcpy 函数 内存拷贝函数 memcpy函数的定义 模拟实现memcpy 函数 memmove 函数 me
  • 矩形波c语言代码大全,周期矩形波、周期齿波、周期三角波,C语言程序.doc

    周期矩形波的C语言代码 include include include include define pi 3 1415926 define E 2 define T1 2 double function double t double s
  • SpringBoot (八)日志配置

    SpringBoot日志 Springboot内部采用的是Commons Logging 进行日志记录 但在底层为Java Util Loggin Log4J Logback等日志框架提供默认配置 虽然有很多可用日志框架 一般使用Sprin
  • Unity2018ShaderGraph之安装ShaderGraph

    前言 Unity2018加入ShaderGraph 可视化Shader编辑器 可以利用节点可视化调节材质的Shader 大大地降低了Shader的入门难度 不过博主还是建议学习Shader编程的话 先浅后深 工具始终还是工具 最核心的还是其
  • 程序员面试题-跳台阶问题

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1229 题目描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 先后次序不同算不同的结果 题目解
  • java面试最后问面试官什么问题,详细说明

    师兄大厂面试遇到面试官的Kafka暴击三连问 快面哭了接下来就让我们通过师兄遇到的关于Kafka问题的暴击三连问 走进他受伤的心 二 带着疑问思考 Kafka为什么快 Kafka和其他消息队列的区别 Kafka这么快 它是如何保证不丢失消息
  • turtle使用文档

    Turtle简介 Turtle库是Python语言中一个很流行的绘制图像的函数库 想象一个小乌龟 在一个横轴为x 纵轴为y的坐标系原点 0 0 位置开始 它根据一组函数指令的控制 在这个平面坐标系中移动 从而在它爬行的路径上绘制了图形 Tu