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