主要内容 #
- for循环语句在turtle中的应用
1. 彩色螺旋线绘制(2) #
在27课当中我们借用python中while循环和判断语句,我们画出了手机上的彩色螺旋线的壁纸。事实上借助列表和for循环,我们能更方便实现相同的效果,请通过两处代码的对比,再次想一想for循环和while循环的不同之处。
for循环实现
import turtle
turtle.speed(100)
turtle.pensize(2)
turtle.bgcolor("black")
color=['blue','purple','yellow','red','yellow','purple']
#建立控制画笔颜色的列表
for i in range(500):
#循环变量名称是i,i在0~499的数列依次递增
turtle.forward(i/6+i)
turtle.color(color[i%6])
turtle.left(60.5)
#每次循环结束循环变量自动更新,更新的下一个值,就是i所在数列的下一个值
turtle.done()
while循环实现
import turtle
turtle.speed(100)
turtle.pensize(2)
turtle.bgcolor("black")
x=0
while True:
turtle.forward(x/6+x)
if x%6==1 or x%6==5:
turtle.color('purple')
elif x%6==2 or x%6==4:
turtle.color('yellow')
elif x%6==3:
turtle.color('red')
else:
turtle.color('blue')
turtle.left(60.5)
x+=1
turtle.done()
2.简易星空图 #
在for循环中,循环变量的名称是任意的,它在不同循环结构中含义不同,注意下面双重循环中i,j的不同。在使用turtle绘制复杂图形中列表和循环往往是必不可少的,想一想下面程序size列表和每一个for循环的作用
import turtle
import random
#python中random包用于产生随机数字,在第77课有详细讲解
turtle.bgcolor('black')#设置背景颜色
turtle.color('white')#设置画笔颜色
turtle.fillcolor('white')#设置填充颜色
turtle.speed(0)#设置画笔速度,0表示最快
turtle.hideturtle()#隐藏画笔形状
size=[8,10,12,14,16]
for i in range(50):
x=random.randint(-300,300)
y=random.randint(-300,300)
turtle.penup()
turtle.goto(x,y)
turtle.down()
turtle.begin_fill()#开始填充颜色
for j in range(5):
turtle.forward(size[i%5])
turtle.left(144)
turtle.end_fill()#结束填充颜色
turtle.done()
习题 #
- 在26,27课中我们讲到了while循环在turtle中的作用,请把示例中的while循环改为for循环,并实现相同的效果
OJ训练题 #
1、【例24.2】 26个兄弟姐妹1 – ★
2、【例26.1】 人类的本质 – ★
3、【例26.3】 多数求和 – ★
4、练27.1 叮叮当当 – ★★
5、【例27.3】 第几项 – ★★★