悄悄告诉你,Python 里面有一只小乌龟

用Python创建海龟图形(turtle 库用法) 徽标编程是一种基本的编程语言,可以使用基本命令创建形状和数字。它被介绍给孩子们,让他们对编程有一个基本的了解。在Python中,我们可以使用turtle 库来处理模拟Logo编程语言的海龟图形。这个预装的库可以让我们用像Logo编程一样的简单命令来创建和处理海龟图形。本教程将讨论一些Python中的海龟图形的例子。 阅读详情

摄影:产品经理

我一开始就说这杯酒有点少

众所周知,Python 生态里面有数不尽的第三方库。所以大家在写程序的时候,总是到处去寻找各种各样的第三方库。

但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝。

今天我们介绍的是 Python 自带的turtle库。turtle 库的中文名叫做海龟绘图。是 Python 2.5开始引入的官方模块。很适合用来引导小孩学习编程。最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。

要使用 turtle 库非常简单,只需要在 Python 中使用 import turtle导入即可:

>>> import turtle

turtle库是用来画图的一个库。现在我们来画一根直线:

>>> turtle.goto(100, 0)

运行完成以后,会自动弹出一个 tk 窗口,在窗口中,我们可以看到一根箭头。运行效果如下图所示:

其中,箭头的“三角形”就是“乌龟”(让我想到了真空中的球形鸡),直线就是我们刚刚画出来的线。这跟线长度是100像素。turtle.goto(x, y)这个方法,接收两个参数,第一个参数是横坐标,第二个参数是纵坐标。程序开始运行时,乌龟所在的位置为(0, 0)。

我们试一试再画一条线,让乌龟爬到(300, 400):

>>> turtle.goto(300, 400)

运行效果如下图所示:

我们可以看到,乌龟跑到每个坐标,都会拉出一条直线。能不能让乌龟移动都某个地方,但是不画线呢?此时我们可以使用turtle.penup(),先把画笔提起来,再移动乌龟既可。乌龟移动完成以后,使用turtle.pendown()重新把画笔放下,就可以继续画图了:

>>> turtle.penup()
>>> turtle.goto(-100, -150)
>>> turtle.pendown()
>>> turtle.goto(20, 10)

运行效果如下图所示:

我们可以使用turtle.home()让乌龟从当前位置爬回(0, 0),相当于turtle.goto(0, 0)。也可以使用turtle.clear()清空当前画布。

turtle.home()
turtle.clear()

现在我们综合使用一下上面的几个方法:

>>> turtle.penup()
>>> turtle.goto(-100, 100)
>>> turtle.pendown()
>>> turtle.goto(100, -100)
>>> turtle.penup()
>>> turtle.goto(-100, -100)
>>> turtle.pendown()
>>> turtle.goto(100, 100)
>>> turtle.penup()
>>> turtle.goto(120, 100)
>>> turtle.pendown()
>>> turtle.goto(150, 0)
>>> turtle.goto(180, 100)
>>> turtle.goto(150, 0)
>>> turtle.goto(150, -100)

运行效果如下图所示:

我们来玩点有趣的东西。既然可以通过坐标画直线,那么我们现在定义两个函数:

这两个函数对应的代码为:

import math


def fx(x):
    return math.sqrt(2 * abs(x) - x ** 2)


def gx(x):
    return -2.14 * math.sqrt(math.sqrt(2) - math.sqrt(abs(x)))

其中 x 的定义域为-2到2,但是由于图中是以像素为单位的,2像素显然太小了。所以我们把 x 和 y 都扩大100倍。

完整的代码如下:

import math
import turtle

def fx(x):
    return math.sqrt(2 * abs(x) - x ** 2)


def gx(x):
    return -2.14 * math.sqrt(math.sqrt(2) - math.sqrt(abs(x)))


up_part_point = []
down_part_point = []
for x in range(-20, 21):
    x /= 10
    y1 = fx(x)
    y2 = gx(x)
    up_part_point.append((100 * x, 100 * y1))
    down_part_point.append((100 * x, 100 * y2))


turtle.penup()
turtle.goto(*up_part_point[0])
turtle.pendown()
for point in up_part_point:
    turtle.goto(*point)

turtle.penup()
turtle.goto(*down_part_point[0])
turtle.pendown()
for point in down_part_point:
    turtle.goto(*point)


turtle.done()

运行效果如下图所示:

除了上面的基本用法外,我们还可以修改颜色,让图片更好看,如下图所示:

或者画出更复杂的图片:

具体 API 可以阅读 turtle 的官方文档[1]

参考资料

[1]

官方文档: https://docs.python.org/zh-cn/3/library/turtle.html#module-turtle

ROS 2客户端库实战:rclcpp/rclpy运行时契约与工程落地指南 ROS 2客户端库(rclcpp/rclpy)是连接应用逻辑与底层DDS中间件的核心抽象层,其本质是一套严格的运行时契约体系,涵盖节点生命周期、参数管理、消息序列化、QoS策略和插件加载等关键机制。理解rcl(ROS Client Library)与rmw(ROS Middleware Layer)的分层设计,有助于规避编译失败、参数读取异常、跨语言类型不一致、QoS失配等高频工程问题。该机制支撑了C++与Python双语言语义统一、自定义消息IDL生成、colcon依赖解析及ros2 doctor合规性诊 阅读详情

相关推荐

ROS2 Humble环境搭建避坑指南:版本对齐与依赖隔离实战

ROS2是基于DDS的现代机器人中间件,其核心在于版本一致性、构建系统(colcon)与运行时环境(rclpy/rclcpp)的严格耦合。理解ROS_DISTRO、RMW_IMPLEMENTATION和Python路径绑定等原理,是解决‘ros2 run失败’‘topic不可见’等高频问题的技术前提。本文聚焦ROS2 Humble在Ubuntu 22.04(jammy)及树莓派ARM64平台的可复现部署,详解源配置三段式校验、rosdep分层依赖解析、colcon构建链路追踪与四维诊断矩阵,覆盖ROS版本对

462

python基础-3.4

修改字符串,可以使用 io.String s = 'hello,sxt' import io sio = io.StringIO(s) sio 补前两章作业: 使用海龟绘图,输出四个矩形: import turtle turtle.width(5) turtle.color("red") turtle.goto(50,0) turtle.goto(50,50) turtle.goto(0,50) turtle.goto(0,0) turtle.penup() turtle.goto(100,0.

weixin_43612977的博客 592

ROS2大型项目启动架构:Launch分层设计与参数治理实战

ROS2启动系统是机器人工程化落地的核心能力,其本质是通过Launch文件组织节点、管理参数、隔离命名空间并协调执行时序。理解Launch的分层编排原理(顶层入口+中层模块+底层原子节点),掌握参数注入的四重机制(硬编码→命令行→YAML配置→环境变量)及其覆盖优先级,是构建可维护、可测试、可扩展ROS2系统的技术基石。本文以turtlesim为最小可运行示例(MRE),深度解析GroupAction沙盒封装、remappings通信拓扑重绘、get_package_share_directory资源定位等

weixin_34062469的博客 366

初学python(2)

turtle.goto(-100,100)#代表X为-100,代表向左100,y为100,代表向上100。自己输入的,本来也想用循环来着,但是,还是有点没弄懂怎么用,看完答案,基本上会了。turtle.goto(100,-100)#代表x为向右100,y为向下100。turtle.goto(0,300)#代表x为0,中心向上300,y为300。我自己做的,虽然看着比答案多,但是,好在是做出来了😜。刚开始大致方向对了,但是没整明白到底是几条边,多少度。第一句,调用turtle库,并改名称为t。

weixin_64993079的博客 211

AWD线下攻防赛总结

在本地组策略编辑器里面,依次展开计算机配置—>管理模板—>Windows组件—>远程桌面服务—>远程桌面会话主机—>连接—>限制连接的数量。8.Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压。进程线程:netstat / ps -aux/netstat -apt。4.查看/etc/init.d/rc.local中启动服务有无异常。1.不使用默认口令,修改成复杂的,并确保和web环境连接。5.使用脚本开启进程监控、目录监控、流量监控。文件操作监控.exe/御剑文件监控.exe。

XuJL89的博客 631

Dify 从入门到熟悉100 天的学习大纲

理解 Dify 的核心概念,熟悉操作界面,并能创建简单的 AI 应用。祝你在这 100 天的旅程中学有所成,成为一名优秀的 AI 应用开发者!掌握生产环境部署、监控、调优,并关注 Dify 生态和前沿动态。探索多模态、Agent、API 集成、性能优化等高级主题。掌握工作流编排、高级提示词技巧、知识库优化等核心功能。

IT深耕十余载,大道之简 1736

Python语言程序设计----【第2周 Python基本图形绘制】 之2.3 模块1: turtle库的使用

Python计算生态 = 标准库 + 第三方库 - 标准库:随解释器直接安装到操作系统中的功能模块 - 第三方库:需要经过安装才能使用的功能模块 - 库Library、包Package、模块Module,统称模块 turtle的原(wan)理(fa) turtle(海龟)是一种真实的存在 - 有一只海龟,其实在窗体正中心,在画布上游走 - 走过的轨迹形成了绘制的图形 - 海龟由程序控制...

qq_36045093的博客 1044

Pytorch版deeplabv3+环境配置训练自己的数据集

参考:https://blog.youkuaiyun.com/qq_36766560/article/details/110009622?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161594607816780266214828%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161594607816780266214828

Ring__Rain的博客 1万+

Python123: Python基本图形绘制 (第2周)

1、实例2: Python蟒蛇绘制 import turtle turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor(“purple”) turtle.seth(-40) for i in range(4): turtle.c...

weixin_41658093的博客 2594

ZYNQ裸机双网口通信实战:手把手教你用SDK和LWIP配置PS+PL以太网(附完整源码)

本文详细介绍了在ZYNQ裸机环境下实现双网口通信的全流程,包括硬件配置、LWIP协议栈优化及TCP通信实现。通过Vivado SDK和LWIP协议栈,开发者可以高效配置PS端内置网口与PL端扩展网口,提升嵌入式网络应用的灵活性和性能。附完整源码,助力快速开发。

weixin_30831529的博客 424

Allegro如何改变线宽操作指导

用Allegro做pcb设计的时候,改变走线线宽是非常常用的功能,如下图。线宽目前是12mil,需要把线宽改成15mil。如何改变线宽操作指导。

weixin_54787054的博客 4255

python小乌龟代码_悄悄告诉你,Python 里面有一只小乌龟

众所周知,Python 生态里面有数不尽的第三方库。所以大家在写程序的时候,总是到处去寻找各种各样的第三方库。但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝。今天我们介绍的是 Python 自带的turtle库。turtle 库的中文名叫做海龟绘图。是 Python 2.5开始引入的官方模块。很适合用来引导小孩学习编程。最初来自于 Wally Feurzeig, Se...

weixin_39765057的博客 2221

RK3568下MIPI屏幕调试技巧

通过合理配置设备树节点、精确计算像素时钟并完成编译烧录,可高效实现RK3568平台MIPI屏幕的点亮与显示调试。关键在于严格遵循屏幕规格书参数,结合内核日志定位问题,逐步优化时序配置。掌握这一流程后,开发者可快速适配不同分辨率、刷新率的MIPI屏幕,为嵌入式系统显示模块开发奠定基础。如果在调试中遇到特定问题(如驱动匹配失败、时钟计算误差),建议优先查阅屏幕规格书和RK3568芯片手册,或通过内核社区(如Linux-DRI邮件列表)获取支持。

文石_2009的博客 1205

python小乌龟消除_悄悄告诉你,Python 里面有一只小乌龟

众所周知,Python 生态里面有数不尽的第三方库。所以大家在写程序的时候,总是到处去寻找各种各样的第三方库。但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝。今天我们介绍的是 Python 自带的turtle库。turtle 库的中文名叫做海龟绘图。是 Python 2.5开始引入的官方模块。很适合用来引导小孩学习编程。最初来自于 Wally Feurzeig, Sey...

weixin_39990401的博客 506

45、使用 sqlread 函数将数据从数据库表导入 MATLAB

本文详细介绍了如何使用 MATLAB 中的 `sqlread` 函数从不同类型的数据库(如 Microsoft SQL Server 和 SQLite)中导入数据。文章涵盖了 `sqlread` 的基本语法、输入输出参数、使用示例以及注意事项,并通过多个实例演示了自定义导入选项、元信息检索和数据类型转换等内容。此外,还总结了导入数据库数据的通用流程及最佳实践建议,帮助用户更高效地进行数据分析和处理工作。

bash7scripter的博客 134

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

turtle是python 自带_悄悄告诉你,Python 里面有一只小乌龟

悄悄告诉你,Python 里面有一只小乌龟摄影:产品经理我一开始就说这杯酒有点少众所周知,Python 生态里面有数不尽的第三方库。所以大家在写程序的时候,总是到处去寻找各种各样的第三方库。但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝。今天我们介绍的是 Python 自带的turtle库。turtle 库的中文名叫做海龟绘图。是 Python 2.5开始引入的官方模块...

weixin_39707725的博客 775

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python 不引入画图_悄悄告诉你,Python 里面有一只小乌龟

摄影:产品经理我一开始就说这杯酒有点少众所周知,Python 生态里面有数不尽的第三方库。所以大家在写程序的时候,总是到处去寻找各种各样的第三方库。但大家没有注意到的是,Python 官方自带的库里面,也藏着各种各样的宝贝。今天我们介绍的是 Python 自带的turtle库。turtle 库的中文名叫做海龟绘图。是 Python 2.5开始引入的官方模块。很适合用来引导小孩学习编程。最...

weixin_39844481的博客 184

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Qwen3-TTS语音设计世界部署教程:Python 3.8+环境快速搭建步骤

本文介绍了如何在星图GPU平台上自动化部署“超级千问:语音设计世界”镜像,快速搭建基于Qwen3-TTS的语音合成环境。该平台简化了部署流程,用户可通过游戏化界面,轻松输入文字描述来生成特定语气(如焦急、慵懒)的语音,适用于视频配音、游戏角色对话等创意场景。

weixin_42578963的博客 159

从高排到低变成小楼梯儿歌_幼儿早教三字儿歌,帮助宝宝启蒙学说话

早教儿歌对幼儿早教的大脑开发、语言天赋的培养都有极佳的效果,宝宝在掌握知识的同时,也锻炼了自己的语言和交际能力。今天我们来分享25首0~2岁宝宝早教三字儿歌,帮助宝宝启蒙学说话。1、小镜子小镜子,圆又圆,看宝宝,露笑脸,闭上眼,做个梦,变月亮,挂上天。2、叮铃铃叮铃铃,叮铃铃,一会远,一会近,小宝宝,耳朵灵,听铃声,找到铃。3、逛公园逛公园,宝宝笑,东看看,西瞧瞧;花儿香,鸟儿叫,小草绿,小树摇。...

weixin_33049919的博客 438

像素风语音新体验:超级千问语音设计实战教学

本文介绍了如何在星图GPU平台自动化部署超级千问语音设计世界镜像,实现像素风AI语音生成。该镜像通过自然语言描述即可快速生成不同风格的语音,适用于游戏角色配音、视频内容创作等场景,让语音设计变得简单高效且充满趣味性。

weixin_42163404的博客 408

Super Qwen Voice World部署案例:Windows平台WSL2 GPU加速配置

本文介绍了如何在星图GPU平台上自动化部署🍄超级千问:语音设计世界(Super Qwen Voice World)镜像,快速搭建AI语音合成环境。该平台简化了部署流程,用户可利用该镜像的游戏化界面,通过自然语言描述生成带有特定情感和风格的高质量语音,轻松应用于视频配音、游戏角色对话等创意内容制作场景。

weixin_42499004的博客 311

新手必看!超级千问语音设计入门到精通

本文介绍了如何在星图GPU平台上自动化部署超级千问语音设计世界镜像,实现AI语音合成功能。该镜像基于Qwen3-TTS构建,提供复古像素风界面,用户可通过简单操作快速生成个性化语音作品,适用于游戏角色配音、内容创作等场景,大幅降低语音制作门槛。

weixin_42405592的博客 200

MonkeyCode:用声明式YAML实现可复现、可审计的开发环境交付

开发环境配置是软件工程中长期被忽视的‘非功能性需求’,其核心矛盾在于缺乏可复现性与可审计性。传统方案依赖文档、手动安装和经验传承,导致PX4开发环境搭建、VSCode配置STM32、Git安装及配置教程等高频搜索场景反复陷入版本混乱、平台不一致与协作断层。MonkeyCode以‘环境即代码’为设计原点,将开发环境抽象为Git托管的声明式YAML配置,通过轻量容器化+本地工具链融合架构,在保障VSCode编辑体验与Git原生工作流的前提下,实现环境定义、构建、快照、回滚的全生命周期治理。它不是替代Git或VS

dianchaozong3657的博客 454

教你用python画图—Turtle详细教程

Turtle英译过来为乌龟,不过我们介绍的不是这种动物,而是以此命名的一个绘图软件。在python文档中介绍了Turtle本身是一款简单、易上手的绘图软件,非常适合新手进入编程的世界。该软件由Wally Feurzeig, Seymour Papert and Cynthia Solomon等在1967年使用最原始的Logo编程语言开发而成。python语言出现后,有开发者使用python对其进行了重写,变成了Python内置的一个模块。

Python966的博客 1万+

python图形化编程turtle小乌龟

python图形化编程turtle

刘鑫磊 1709
上一篇: 车票?工作?对象?且看Python如何优雅解决年关三大难题!
下一篇: 宅在家太无聊了,我用Python做了一个能作弊的抽奖程序
菜鸟学Python
博客等级 码龄9年 8086粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值