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版本?

    我已经在我的 Mac 上安装了 Python 3 2 我跑完之后 Applications Python 3 2 Update Shell Profile command 当我输入时 这很令人困惑Python V在终端它说Python 2
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • Python设置1和True的解释

    在 IPython 3 交互式 shell 中 In 53 set2 1 2 True hello In 54 len set2 Out 54 3 In 55 set2 Out 55 hello True 2 是因为 1 和 True 得到
  • sy.sympify(str(表达式)) 不等于表达式

    据我了解 str将 SymPy 表达式转换为字符串并sympify将字符串转换为 SymPy 表达式 因此 我希望以下内容成立 对于合理的表达 gt gt gt sy sympify str expr expr True 我尝试过这个 确实
  • Django 查询:“datetime + delta”作为表达式

    好吧 我的问题如下 假设我有下一个模型 这是一个简单的情况 class Period models Model name CharField field specs here start date DateTimeField field s
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 计算熊猫数据帧几个月的总和

    我有一个 pandas 数据框 如下所示 ID Year R1 R1 f KAR1 20201001 1 5 KAR1 20201101 2 6 KAR1 20201201 3 7 KAR1 20210101 4 8 KAR1 202102
  • 检查子字符串是否在字符串列表中?

    我之前已经找到了这个问题的一些答案 但它们对于当前的Python版本来说似乎已经过时了 或者至少它们对我不起作用 我想检查字符串列表中是否包含子字符串 我只需要布尔结果 我找到了这个解决方案 word to check or wordlis
  • 如何在动态执行的代码字符串中使用inspect.getsource?

    如果我在文件中有这段代码 import inspect def sample p1 print p1 return 1 print inspect getsource sample 当我运行脚本时 它按预期工作 在最后一行 源代码sampl
  • 如何调试 numpy 掩码

    这个问题与this one https stackoverflow com q 73672739 11004423 我有一个正在尝试矢量化的函数 这是原来的函数 def aspect good angle float planet1 goo
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • 打印一份拥有多个家庭的人员名单,每个家庭都有多个电话号码

    我有一类 Person 它可以有多个 Home 每个 Home 都有一个或多个电话号码 我已经定义了类 但现在我正在尝试创建一个视图 其中列出每个人的所有家庭以及每个家庭地址的所有电话号码 类似于 john smith 123 fake s
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 有没有办法拉伸整个显示图像以适应给定的分辨率?

    我最近一直在使用pygame制作游戏 遇到了一个小问题 基本上 我希望能够将屏幕上的整个图像 我已经传输到它的所有内容 拉伸到用户将窗口大小调整到的分辨率 我在 pygame 和堆栈溢出的文档中搜索了很多 但我似乎找不到答案 这可能吗 我的
  • 如何在supervisord中设置组?

    因此 我正在设置 Supervisord 并尝试控制多个进程 并且一切正常 现在我想设置一个组 以便我可以启动 停止不同的进程集 而不是全部或全无 这是我的配置文件的片段 group tapjoy programs tapjoy game1
  • 在 python 中使用高精度时间戳

    嘿 我正在使用 python 处理日期时间 我想知道解析这个时间戳的最佳方法是什么 时间戳是ISO标准 这里是一个例子 2010 06 19T08 17 14 078685237Z 现在到目前为止我已经使用过 time datetime d

随机推荐

  • 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