主要内容 #
- 函数在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的数 – ★★★