主要内容 #
- 函数在turtle中的应用
简易风力发电机(1):多支画笔的使用 #
在turtle的绘图中,我们有时候可能需要多只’海龟’来实现一些动态效果,调用Turtle()可以帮助返回多支画笔。
下面展示了用两支画笔分别画两个五角星的代码,注意其中函数的定义和调用,我们把画笔常见的移动定义为mymove()函数,把画笔画五角星的功能定义为pentagram()函数,使整个绘制过程更加清晰简洁。
import turtle
myturtle1=turtle.Turtle()#返回名为myturtle1的海龟画笔
myturtle1.shape('turtle')#定义海龟的形状为海龟
myturtle2=turtle.Turtle()#返回名为myturtle2的海龟画笔
myturtle2.shape('arrow')#定义海龟的形状为箭头
########################################
def mymove(myturtle,x,y):#定义一个函数名字为mymove()的函数,该函数有三个参数,功能是把画笔移动到指定位置
myturtle.penup()
myturtle.goto(x,y)
myturtle.pendown()
def pentagram(myturtle,x,y):#定义一个函数名为pentagram()的函数,该函数有三个参数,功能是在指定位置画一个五角星
mymove(myturtle,x,y)
for i in range(5):
myturtle.forward(100)
myturtle.left(144)
########################################
pentagram(myturtle1,0,100)#调用pentagram()函数,使用画笔myturtle1在(0,100)画一个五角星
pentagram(myturtle2,0,-100)#调用pentagram()函数,使用画笔myturtle2在(0,-100)画一个五角星
turtle.done()
简易风力发电机(2):画笔的旋转 #
在turtle绘图中,我们通过setheading()函数设置画笔的角度,下例中通过三支画笔的旋转,制作了一个简易的动态图。通过画笔移动制作动态图形,主要包含:画笔形状注册、画笔的形状设置、画笔的动画设置。
import turtle
turtle.hideturtle()
###################
def myregisiter():#定义一个名为myregisiter()的函数,该函数没有参数,功能是注册圆柱形形状
turtle.penup()#画笔抬起
turtle.begin_poly() # 记录多变形
for i in range(2):#绘制一个圆柱
turtle.forward(120)
turtle.circle(2.5,180)
turtle.end_poly()#记录多变形结束
p = turtle.get_poly()
turtle.register_shape('myshape', p)#用我们绘制的圆柱形状,注册画笔形状
def mymove(myturtle,x,y):#与(1)中的mymove()函数相同
myturtle.penup()
myturtle.goto(x,y)
myturtle.pendown()
###################
myturtle=[turtle.Turtle(),turtle.Turtle(),turtle.Turtle()]
#返回画笔列表
myregisiter()#注册画笔形状
for i in range(3):#画笔的设置
myturtle[i].shape('myshape')
mymove(myturtle[i],(i-1)*200,0)
for i in range(720):#设置画笔的角度实现画笔的转动动画
for j in range(3):
myturtle[j].setheading(i*2)#设置画笔角度,注册完圆柱画笔后,圆柱朝下为0度,每次循环增加2度
turtle.done()
OJ训练题 #
1、【例25.1】 不说脏话 – ★
2、【入门】小丽找数? – ★
3、【入门】编程求1*2*3*…*n – ★
4、【入门】甲乙的年龄 – ★★
5、【入门】有0的数 – ★★★