输入/输出文字

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

相关推荐
dazhong201221 分钟前
PLSQL 客户端连接 Oracle 数据库配置
数据库·oracle
轻口味1 小时前
命名空间与模块化概述
开发语言·前端·javascript
前端小小王2 小时前
React Hooks
前端·javascript·react.js
迷途小码农零零发2 小时前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
了一li2 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
娃哈哈哈哈呀3 小时前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
算法小白(真小白)3 小时前
低代码软件搭建自学第二天——构建拖拽功能
python·低代码·pyqt
唐小旭3 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio