利用海龟笔绘制两段1/4弧形
实例说明
利用海龟笔绘制两段1/4弧形,如下图形
实例代码
import turtle
t = turtle.Pen()
t.pencolor("red")
t.speed(0)
for x in range(90):
t.forward(1)
t.right(1)
t.right(90)
for x in range(90):
t.forward(1)
t.right(1)
turtle.done()
使用海龟模块,利用循环嵌套绘制花瓣轮廓
功能要求
使用海龟模块,利用循环嵌套绘制花瓣轮廓。
说明:花瓣可以简单的看成由两个圆弧组成,绘制花瓣时,可以通过绘制两个对称的圆弧来实现。圆弧实际上由很多小的线段组成,绘制线段是不断地旋转画笔即可。
实例代码
import turtle
t = turtle.Pen()
for x in range(90):
t.forward(1)
t.right(1)
turtle.done()
运行结果
实现分析
for x in range(90)::用for循环绘制圆弧。每次循环时都会绘制一个1步的线段,并让画笔向右旋转1°。
t.forward(1):向前移动1步。
t.right(1):向右转动1°。
实例代码
接下去画笔旋转90°,绘制同样的圆弧。
import turtle
t = turtle.Pen()
for x in range(90):
t.forward(1)
t.right(1)
t.right(90)
for x in range(90):
t.forward(1)
t.right(1)
turtle.done()
运行结果
代码分析
利用两个for循环绘制出两个圆弧,组成一个花瓣形状。画圆弧的循环代码执行了两次,可以通过嵌套循环来简化程序。
for x in range(90):
t.forward(1)
t.right(1):之前画圆弧的代码。
t.right(90):让画笔旋转90°。
for x in range(90):
t.forward(1)
t.right(1):画相同的一个圆弧。
实例代码
使用嵌套循环,绘制两个同样的圆弧,实现绘制花瓣。
import turtle
t = turtle.Pen()
for y in range(2):
for x in range(90):
t.forward(1)
t.right(1)
t.right(90)
turtle.done()
运行结果
代码分析
for循环嵌套是在第一个for循环里面包含另一个for循环。
for y in range(2):
for x in range(90):
t.forward(1)
t.right(1)
t.right(90):两个for循环嵌套。第一个for循环下面包含另一个for循环。
for x in range(90):
t.forward(1)
t.right(1):画圆弧的for循环。
程序执行过程:
1)首先导入海龟绘图模块,将变量t设置为海龟的画笔。
2)执行“for y in range(2)”语句,开始执行for循环,此for循环执行2次后结束循环。第一次循环时,for循环先访问range列表中第一个元素0,并将0存储在变量y中,变量y的值变为0。
3)执行for循环内部的语句(缩进部分)。先执行“for x in range(90)”语句,此for循环执行90次后结束。第1次循环时,访问range列表中的第一个元素0,并将0存储在变量x中,变量x的值变为0。然后执行第二个for循环内的语句(下一个缩进部分),先执行“t.forward(1)”语句画笔向前移动1步,在执行“t.right(1)”语句,画笔向右转动1°。然后进行第二个for循环(内循环),变量x的值变为1,画笔向前移动1步,向右转动1°。这样一直循环,指导第90次循环,变量x的值变为89,画笔向前移动1步,向右移动1°,结束第二个for循环,画出一段弧线。
4)执行“t.right(90)”语句,画笔向右转90°,完成“for y in range(2)”语句的第一次循环。
5)再执行“for y in range(2)”执行第二次循环,访问range列表中第二个元素“1”,并将“1”存储在变量y中,变量y的值变为了“1”。
6)执行“for x in range(90)”语句,重复步骤3),画出第二段弧线。
7)执行“t.right(90)”语句,画笔向右转90°,完成循环,结束程序。