利用海龟笔绘制两段1/4弧形

实例说明

利用海龟笔绘制两段1/4弧形,如下图形

python爬虫 花瓣 用python画花瓣_for循环

 

 

实例代码

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()

运行结果

python爬虫 花瓣 用python画花瓣_python爬虫 花瓣_02

 

 

实现分析

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()

运行结果

python爬虫 花瓣 用python画花瓣_python爬虫 花瓣_03

 

 

代码分析

利用两个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()

运行结果

python爬虫 花瓣 用python画花瓣_Turtle_04

 

 

代码分析

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°,完成循环,结束程序。