跳至正文
View Categories

< 1 min read

主要内容 #

  1. for循环语句在turtle中的应用

1.画笔形状的设置 #

在前几次的Turtle课程中,许多同学对于画笔的形状十分感兴趣,事实上turtle画笔的形状与画笔颜色一样,都是通过字符串的列表进行控制。默认的的形状有[‘arrow’, ‘blank’, ‘circle’, ‘classic’, ‘square’, ‘triangle’, ‘turtle’]

import turtle
print(turtle.getshapes())
#打印当前画笔形状列表

我们能否设置自己的画笔形状呢?当然是可以的,但在设置之前我们需要先注册自己的画笔形状,然后进行设置,以五角星为例,注意下面for循环的使用,以及循环变量i的意义

import turtle
turtle.begin_poly()
#多边形记录开始
for i in range(5):#画一个五角星
    turtle.forward(10)
    turtle.left(144)
turtle.end_poly()
#多边形记录结束
p = turtle.get_poly()
#获取记录的多边形
turtle.register_shape("pentagram", p)
#注册画笔形状,'pentagram'是画笔名字,可以根据需要设置,p是几何形状
turtle.shape('pentagram')#设置画笔形状
turtle.shapesize(10)#为了便于观察,调整画笔的大小
turtle.done()

2.奥运五环 #


通过列表和for循环的结合使用,我们能够更方便的实现颜色的控制。思考奥运五环绘制中,是如何通过循环变量i控制画笔颜色呢?

import turtle
colors = ['blue', 'black', 'red', 'yellow', 'green']
turtle.width(20)
turtle.speed(0)
for i in range(5):
    if i<3:
        x = 260 * (i - 1)
    else:
        x=260*(i-3)-130
    if i<3:
        y = 0
    else:
        y=-110
    #事实上以下的三条turtle语句,是我们移动海归图标时经常使用的
    turtle.pu()#penup()的简写
    turtle.goto(x, y)
    turtle.pd()#pendown()的简写
    turtle.color(colors[i])
    turtle.circle(110)
turtle.done()

习题 #

  1. 说一说for循环和while循环的不同之处;任选上述例子中的一个改为while循环,实现相同的效果
  2. OJ训练题 #

    1、重要的话说 n 遍 – ★
    2、练25.3 偶数求和 – ★
    3、【例26.2】 循环判断输出 – ★
    4、【例29.1】 求阶乘 – ★★
    5、【例27.2】 最小n值 – ★★★