利用海龟笔绘制螺旋线
功能要求
使用海龟模块,利用循环结构绘制漂亮的螺旋线。
说明:螺旋线是有许多条边,每条边的长度是逐渐增加的。可以使用for循环依次增加边长。螺旋线的特点是由很多个边,每个边的长度都不一样,是逐渐增加的。例如:第1边长为1,第2边长为2,第3边长为3,依次增加。
实例代码
import turtle
t = turtle.Pen()
angle = 72
for x in range(100):
t.forward(x)
t.right(angle)
turtle.done()
运行结果
代码分析
for x in range(100)::range(100)将让for循环中冒号后面的代码循环100次。
t.forward(x)
t.right(angle):这里将每次前进的距离(即多边形编程)设置为变量x。每次循环变量x都会存储列表range(100)中的一个元素(列表中的元素从0开始到99结束)。即第1次循环时,x = 0;第2次循环时,x = 1;第3次循环时,x = 2;一直循环到第100次时,x = 00。这样相当与每次循环时,多边形的边长都会增长1.每次循环,画笔旋转角度为72°不变。
程序执行过程
1)导入海龟模块,使用变量t保存海龟的画笔。
2)Python第一次执行循环时,for循环先访问range列表中的第一个元素0(range(100)生成从0到99的连续整数),并将0存储在变量x中,变量x的值为0。执行t.forward(x),表示画笔向前移动x步,因此画笔向前移动0步。执行t.right(72)语句,海龟的画笔向右转动72°。
3)执行第二次循环,for循环访问range列表中的第二个元素1,并将x的值改变为1。画笔向前移动1步,画笔向右转动72°。
4)执行第三次循环,for循环访问range列表中第三个元素2,并将x的值改变为2。画笔向前移动2步,画笔有右转动72°。
5)循环依次执行,当for循环变量range中最后一个元素99时,变量x的值为99,画笔向前移动99步,并向右转动72°,完成一个螺旋线。
功能要求
将实例中的角度改为76°,后形成的图形。
实例代码
import turtle
t = turtle.Pen()
angle = 76
for x in range(100):
t.forward(x)
t.right(angle)
turtle.done()
运行结果
功能要求
将实例中的角度改为91°,后形成的图形。
实例代码
import turtle
t = turtle.Pen()
angle = 91
for x in range(100):
t.forward(x)
t.right(angle)
turtle.done()
运行结果
利用海龟笔绘制边长递增的多个正方形
功能要求
使用海龟作图来编写一个程序,绘制边长递增的多正方形。
实例代码
# Draws a square spiral
import turtle
t = turtle.Pen()
for x in range(100):
t.forward(x)
t.left(90)
turtle.done()
运行结果