输入/输出文字

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

相关推荐
Jedi Hongbin24 分钟前
Three.js NodeMaterial 节点材质系统文档
前端·javascript·three.js·nodematerial
前端小马35 分钟前
前后端Long类型ID精度丢失问题
java·前端·javascript·后端
用户14567756103743 分钟前
干净的图片批量处理,处理速度飞快
前端
点灯小铭1 小时前
基于单片机的自动存包柜设计
数据库·单片机·mongodb·毕业设计·课程设计
用户1456775610371 小时前
亲测好用!简单实用的图片尺寸调整工具
前端
索西引擎1 小时前
npm、yarn、pnpm
前端·npm·node.js
eqwaak01 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
失散131 小时前
软件设计师——09 数据库技术基础
数据库·软考·软件设计师
Ching·1 小时前
RK3568入门之VScode远程连接开发板,直接开发板上面编程和实验
linux·ide·vscode·编辑器·rk3568
养生技术人1 小时前
Oracle OCP认证考试题目详解082系列第53题
数据库·sql·oracle·database·开闭原则·ocp