「Python海龟画图」利用海龟画笔绘制花瓣轮廓

您所在的位置:网站首页 香袋可以放在身上吗 「Python海龟画图」利用海龟画笔绘制花瓣轮廓

「Python海龟画图」利用海龟画笔绘制花瓣轮廓

#「Python海龟画图」利用海龟画笔绘制花瓣轮廓| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

学习笔记系列利用海龟笔绘制两段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°,完成循环,结束程序。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

/阅读下一篇/ 返回网易首页 下载网易新闻客户端


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3