输入/输出文字

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

在海龟绘图中,也可以输入或者输出文字,下面分别进行介绍。

1 输出文字

输出文字可以使用write()方法来实现,语法如下:

turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))

参数说明:

l arg :必选参数,用于指定要输出的文字内容,该内容会输出到当前海龟光标的所在位置。

l move :可选参数,用于指定是否移动画笔到文本的右下角,默认为False(不移动)。

l align :可选参数,用于指定文字的对齐方式,其参数值为left(居左)、center(居中)或者right(居右)中的任意一个,默认为left。

l font :可选参数,用于指定字体、字号和字形,通过一个三元组(字体,字号,字形)指定。

**说明:**字形可设置的值为normal( 表示正常)、bold( 粗体)、italic( 斜体)、underline( 下划线)等。

例如,在屏幕中心输出文字"命运给予我们的不是失望之酒,而是机会之杯。",指定字体为宋体,字号为18,字形为normal(表示正常),代码如下:

import turtle # 导入海龟绘图模块

turtle.color('green') # 填充颜色

turtle.up() # 抬笔

turtle.goto(-300,50)

turtle.down() # 落笔

turtle.write('命运给予我们的不是失望之酒,而是机会之杯。',font=('宋体',18,'normal'))

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行上面的代码,将显示如图15.37所示的效果。

图15.37 在屏幕中输出文字

从图15.37中可以看出,输出文字时,海龟光标并没有移动,如果将第6行代码修改为以下代码:

turtle.write('命运给予我们的不是失望之酒,而是机会之杯。',True,font=('宋体',18,'normal'))

再次运行程序,将显示如图15.38所示的效果。

图15.38 移动光标后的效果

2 输入文字

在海龟绘图中,如果想与用户交互,获取用户输入的文字,可以通过textinput()方法弹出一个输入对话框来实现。该方法的返回值为字符串类型。textinput()方法的语法如下:

turtle.textinput(title, prompt)

参数说明:

l title :用于指定对话框的标题,显示在标题栏上。

l prompt :用于指定对话框的提示文字,提示要输入的信息。

l 返回值:返回输入的字符串,如果对话框被取消则返回None。

例如,先弹出输入对话框,要求用户输入一段文字,然后输出到屏幕上,代码如下:

import turtle # 导入海龟绘图模块

turtle.color('green') # 填充颜色

word = turtle.textinput('温馨提示:','请输入要打印的文字') # 弹出输入对话框

turtle.write(word,True,font=('宋体',18,'italic')) # 输出文字

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将显示如图15.39所示的输入对话框,输入文字"学无止境"并单击OK按钮后,在屏幕上将显示如图15.40所示的文字。

图 15.39 输入对话框

图15.40 在屏幕中输出的效果

通过textinput()方法返回的内容为字符串,如果想要输入数值,可以使用numinput()方法实现,该方法的返回值为浮点类型。numinput()方法的语法如下:

turtle.numinput(title, prompt, default=None, minval=None, maxval=None)

参数说明:

l title :必选参数,用于指定对话框的标题,显示在标题栏上。

l prompt :必选参数,用于指定对话框的提示文字,提示要输入什么信息。

l default :可选参数,用于指定一个默认数值。

l minval :可选参数,用于指定可输入的最小数值。

l maxval :可选参数,用于指定可输入的最大数值。

例如,先弹出输入对话框,要求用户输入一个1~9之间的数,然后输出到屏幕上,代码如下:

import turtle # 导入海龟绘图模块

turtle.color('green') # 填充颜色

数字输入框

num = turtle.numinput('温馨提示:','请输入1~9之间的数字:',default=1, minval=1, maxval=9)

turtle.write(num,True,font=('宋体',18,'normal')) # 输出获取的数字

turtle.done() # 海龟绘图程序的结束语句(开始主循环)

运行程序,将显示如图15.41所示的输入对话框,输入数字0,并单击OK按钮后,将弹出 Too small对话框,提示输入的值不允许,请重新输入,如图15.42所示,单击"确定"按钮,关闭Too small对话框,将返回到输入对话框,输入7,并单击OK按钮后,在屏幕上将显示数字7.0,如图15.43所示。

图 15.41 输入对话框

图 15.42 输入不允许的数值时的效果

图15.43 绘制输入的数值

动手试一试5

任务一:输出逐渐变大的文字

在海龟绘图中,默认文字是同样大小并且一次性地输出到屏幕上。本任务要求将一行自己喜欢的文字一个一个地进行输出,并且逐渐变大。例如,输出"唯有行动才能改造命运",效果如图15.44所示。

图15.44 输出逐渐变大的文字

任务二:根据用户输入的边数绘制多边形

本任务要求:通过输入对话框让用户输入一个数值作为要绘制多边形的边数,从而实现绘制指定边数的多边形。例如,用户在弹出的数字输入对话框中,输入6,则绘制一个六边形,如图15.45所示。

图15.45 根据用户输入的边数绘制多边形(六边形)

相关推荐
万粉变现经纪人几秒前
如何解决pip安装报错ModuleNotFoundError: No module named ‘python-dateutil’问题
开发语言·ide·python·pycharm·pandas·pip·httpx
跟橙姐学代码14 分钟前
Python 类的正确打开方式:从新手到进阶的第一步
前端·python·ipython
Jagger_14 分钟前
SonarQube:提升代码质量的前后端解决方案
前端·后端·ai编程
c8i15 分钟前
关于python中的变量中使用的下划线_总结
python
Becauseofyou13718 分钟前
如果你刚入门Three.js,这几个开源项目值得你去学习
前端·three.js
菜市口的跳脚长颌18 分钟前
前端大文件上传全攻略(秒传、分片上传、断点续传、并发控制、进度展示)
前端
不一样的少年_20 分钟前
同事以为要重写,我8行代码让 Vue 2 公共组件跑进 Vue 3
前端·javascript·vue.js
站大爷IP22 分钟前
用Flet打造跨平台文本编辑器:从零到一的Python实战指南
python
云枫晖28 分钟前
JS核心知识-数据转换
前端·javascript
xuyanzhuqing28 分钟前
代码共享方案-多仓库合并单仓库
前端