Python学习笔记(七):Turtle绘图(3)[write()函数] - Go语言中文社区

Python学习笔记(七):Turtle绘图(3)[write()函数]


write()函数

如果我想画一幅画,并且在这幅画里写字,该怎么办呢?

拟定代码如下:

import turtle as t
for i in range(1,10):
    t.circle(100,360,i)
    t.home()
print("Oh!It is so cool!")

结果:

这看起来不太妙,因为文字和图画输出在了两个界面上。

该怎么解决这个问题呢?

我们就要调用write()函数。

Python对于write()函数的介绍

翻译:

write(arg,move=false,align='left',font=('arial',8,'normal'))

在当前乌龟位置写入文本。

arg--信息,将写入Turtle绘画屏幕。

move(可选)--真/假。

align(可选)--字符串“左(left)”、“中(center)”或“右(right)”之一。

font(可选)--三个字体(fontname、fontsize、fonttype)。

写入文本 - arg的字符串表示形式 - 当前

根据“对齐”(“左”、“中”或“右”)定位乌龟以及给定的字体。

如果move为true,则笔将移动到右下角。

在默认情况下,move为false。

实践方案

#上文例子

import turtle as t
for i in range(1,10):
    t.circle(100,360,i)
    t.home()
t.rt(90)
t.pu()
t.fd(30)#为了不与图像重合,将小乌龟向下移动后写字
t.write("Oh!It is so cool!",False,'center')
t.fd(50)#为了小乌龟不挡住字,将小乌龟再次向下移动

结果:

Oh ! It is so cool ! 

如何将文字写成一个圆圈?

有网友提问,所以在此解释一下思路。

import turtle
text=input('请输入要打印的文字:')
'''
可近似地将画笔的运动轨迹看为一个正多边形.
根据多边形内角和公式:度数=(边数-2)*180,
那么,每次旋转的度数为:180-度数/角数=180-(边数-2)*180/边数.
易知,边数=角数=文字数,
所以每次旋转的度数为:180-(文字数-2)*180/文字数=360/文字数.
'''
turtle.pu()
x=len(text)
for i in text:
    turtle.write(i,font='consolas')
    turtle.rt(360/x)
    turtle.pu()
    turtle.fd(30)

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/commander_wingt/article/details/88748970
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-08 16:29:43
  • 阅读 ( 685 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢