我喜欢turtle绘图,因为代码一点点的改动,总会带来意想不到的惊喜。
一些让我心动过的案例,分享给大家,也珍藏给自己。
——Python教学路上的爬行者
案例1
单色螺旋文字
【效果预览】
看下图左上角的标题,写的是"Python Turtle Graphics”,翻译为“Python海龟绘图”
本文较长,建议收藏后慢慢享用
【代码参考】
# 案例1:单色螺旋文字
# 文字的颜色,也就是画笔的颜色,是由第5行代码控制。
import turtle # 导入turtle库
turtle.bgcolor("black") # 设置背景颜色为black
turtle.pencolor("green") # 设置画笔颜色为green
turtle.speed(0) # 将绘图速度设置为0,加快绘图速度
for i in range(1,100): # 使用循环控制绘制螺旋文字的次数。range(1,100)是写99次文字。也可直接使用range(100),
# 仔细观察二者的细微差别,会发现,若使用range(100)最中间的文字会太密集。
turtle.penup() # 抬笔,海龟停止绘制(海龟移动时不留下痕迹,即绘制的文本之间没有多余的线条)
turtle.forward(i*5) # 绘制的文本之间需间隔一段距离,不致使得绘制的文本密集在一起。尝试其他倍数,自然顿悟。
turtle.pendown() # 落笔,开始绘制。此处代码可以省略。下一行的write本身就会留下痕迹。
turtle.write("爬行者") # 设置书写的内容为“爬行者”,可以是字符串、数字,列表等。或使用变量代替。
# 字体和字号都为默认。尝试特殊字符,如❤,效果更美。
turtle.left(92) # 向左旋转92度,是螺旋的形式。如果是90度,绘制的图案是X。
# 如果是62度,就是六条文字线,如果是122度,则是三条文字线。
turtle.hideturtle() # 隐藏海龟
【重难点突破】
write( )
语法:turtle.write(arg, move=False, align="left", font=("Arial",8,"normal"))
作用:书写文本(arg 指定的字符串)到当前海龟位置。
参数:
arg – 要书写到 TurtleScreen 的对象(在Python中,一切皆为对象。如字符串、数字、列表、元组等都称作是对象)。
如:"爬行者",123,[1,2,3],(1,2)等
move – True/False
如果 move 为 True,画笔会移动到文本的右下角,这样文字就不会叠在一块了。(在此案例中,该参数省略,省略时默认move=False)
align – 字符串 “left”, “center” 或 “right”
align 指定对齐方式 (“left”, “center” 或 right")(在此案例中,该参数省略,省略时默认align="left")