Python海龟绘图之绘制文本

海龟绘图中的write()函数是在海龟当前所在位置绘制文本的函数,非常适合用来给图形加标签、标题或注释。

1 write()函数的基本用法

通过write()函数的基本用法,绘制文本的代码,如图1所示。

图1 write()函数的基本用法绘制文本的代码

代码运行的效果如图2所示。

图2 代码运行效果

2 write()函数的扩展用法

2.1 设置文本的字体字号

通过write()函数的font参数设置绘制文本的字体字号,代码如图3所示。

图3 通过font参数设置绘制文本的字体字号的代码

其中,font参数的值是一个元组,该元组中包含了三个元素,分别指定的是字体名称, 字号, 字体样式。SimHei表示黑体,18表示字号,bold表示粗体。代码运行的效果如图4所示。

图4 代码运行效果

相关链接1 常用的字体名称除了表示黑体的SimHei之外,还有SimSun(宋体)、NSimSun(新宋体)、KaiTi(楷体)、FangSong(仿宋)、Microsoft YaHei(微软雅黑)、Lisu(隶书)和YouYuan(幼圆)等。

相关链接2 字体样式包括normal(正常)、bold(加粗)和italic(斜体)等。

2.2 设置海龟跟随文本前进

将write()函数的move参数的值设置为True,可以使得海龟跟随文本前进,以便能够绘制多个文本,而文本不会重叠。默认情况下,move的值是False。如果不设置该参数,绘制多个文本的代码如图5所示。

图5 不设置move参数时的代码

代码运行效果如图6所示。

图6 代码运行效果

从图中可以看出,绘制的两个文本是重叠在一起的。

将write()函数的move参数设置为True的代码如图7所示。

图7 move参数为True的代码

代码运行效果如图8所示。

图8 代码运行效果

如果不需要显示"你好世界"的划线,只需加入penup()和pendown()函数即可,代码如图9所示。

图9 不显示划线的代码

以上代码运行的效果如图10所示。

图10 代码运行效果

2.3 文本对齐方式

文本对齐方式指的是文本位置与海龟位置的关系,由align参数决定。代码如图11所示。

图11 align参数确定文本位置的代码

其中,align参数的值是center,表示文本的中间位置与海龟初始位置对齐。代码运行效果如图12所示。

图12 代码运行效果

相关链接3 align参数的值还可以是left和right,分别表示文本的左侧和右侧与海龟初始位置对齐。

3 小结

wrtie()函数用于绘制文本。其中,font参数用于设置字体字号;move参数用于设置海龟是否跟随文本;align参数用于设置文本位置与海龟初始位置的对齐方式。

相关推荐
犇驫聊AI27 分钟前
Chrome DevTools MCP + Claude Code 自定义skills生成接口代码生成器
前端·javascript
kyriewen38 分钟前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
用户298698530145 小时前
在 React 中使用 JavaScript 将 Excel 转换为 SVG
前端·javascript·react.js
labixiong6 小时前
手写Promise--微任务、静态方法、async/await 全搞懂(三)
前端·javascript
荣码6 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
铁皮饭盒7 小时前
3行代码搞定页面截图,Bun.WebView真的简单
javascript
金銀銅鐵17 小时前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li19 小时前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
kyriewen21 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
山河木马21 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学