输入/输出文字

自学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 根据用户输入的边数绘制多边形(六边形)

相关推荐
Apifox.3 分钟前
REST API 中的 HTTP 请求参数
前端·后端·http·学习方法·web
看雪看月亮7 分钟前
导出word模板开发记录
开发语言·前端·javascript
码农研究僧7 分钟前
详细分析Oracle中的tnsnames.ora基本知识 以及 PLSQL如何连接(附Demo)
数据库·oracle·plsql·tnsnames.ora
奔波霸的伶俐虫11 分钟前
jeecg启动微服务并注册到本地nacos
java·开发语言·数据库·spring·微服务·架构·maven
咸鱼永不翻身20 分钟前
Python自动化(6)——图像模块
python·自动化
IT数据小能手25 分钟前
Scrapy框架与其他Python爬虫库的对比分析
爬虫·python·scrapy
陈小唬26 分钟前
【无标题】
前端·javascript·vue.js
Commas.KM26 分钟前
【vue3|第14期】深入Vue3自定义Hooks:掌握组件逻辑复用的核心
前端·javascript·vue.js·hooks·钩子·钩子函数·hooks函数
java66666888828 分钟前
SQL数据库学习指南:从基础到高级
数据库·sql·oracle
橙子1991101631 分钟前
算法题 — 接雨水
前端·javascript·算法