python使用for循环和海龟绘图实现漂亮螺旋线
作者:布口袋_天晴了 发布时间:2023-08-01 10:38:57
用for循环和海龟绘图实现漂亮的螺旋线
A.课程内容
本节课通过绘制复杂的螺旋线来深入学习for循环和range()函数的用法。深入了解循环的程序过程。
B.知识点
(1)for循环的用法
(2)range()函数的用法
(3)绘制螺旋线
C.用到的基本指令
(1)import
(2)turtle.Pen()
(3)forward()
(4)right()
(5)for循环
(6)range()
前面已经讲过如何绘制正五边形,本节将结合for循环绘制一个五边形螺旋线。螺旋线的特点是有很多个边,每个边的长度都不一样,是逐渐增加的。比如第1边长为1,第2边长为2,第3边长为3,依次增加。如果用for循环,则每循环一次向前走的距离增加1,如图所示:
range(100)将让for循环中冒号后面的代码循环100次。
输出五边形螺旋线
上面的程序是如何执行的呢?
(1)首先导入海龟绘图模块,并将变量t设置为海龟的笔画。
(2)python第一次执行循环时,for循环先访问range列表中的第一个元素0(range(100)会生成从0到99的连续的数),并将0存储在变量x中,变量x的值变为0。
(3)执行t.forward(x)语句让海龟画笔向前移动x步。由于x=0,所以画笔向前移动0步。
(4)执行t.right(72)语句,让海龟画笔向右转动72°。
(5)执行第二次循环,for循环访问range列表中的第二个元素1,并将1存储在变量x中,变量x的值变为1.接着画笔向前移动1步,画笔向右转动72°。
(6)执行第三次循环,for循环访问range列表中的第三个元素2,并将2存储在变量x中,变量x的值变为2,接着画笔向前移动2步,画笔向右转动72°。
(7)这样一次一次地继续执行,当for循环遍历range中最后一个元素99时,变量x的值就为99,画笔向前移动99步,并向右转动72°。这样就画出一个漂亮的螺旋线。
绘制旋转角度修改
上面的程序中,如果我们将每次绘制旋转的角度改变一下会绘制出什么图形呢?
(1)将旋转角度angle修改为76°时:
(2)将旋转角度angle修改为91°时:
来源:https://www.jianshu.com/p/97f54c0b7e6e


猜你喜欢
- 我在传递数据的时候老是出错,请问如何处理?不管是什么数据库,一般来说,是它所包含引号的字符串带来的问题。假设我们使用名为“strDate”的
- 生日送什么礼物总是要花一番心思,别出心裁不落俗套,什么礼物才能让那一个她开心呢?来看看前端大大用html+css实现动态生日快乐
- 本文介绍了Python实现曲线点抽稀算法的示例,分享给大家,具体如下:目录何为抽稀道格拉斯-普克(Douglas-Peuker)算法垂距限值
- 1.图像金字塔理论基础图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的金字塔是一系列以金字塔形
- 一、赋值对比1、列表l1 = [1,2,3]l2 = l1l1.append('a')print(l1,l2)
- MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下
- 一个普通WEB站点的页面常常需要查询N条SQL语句后才能得出页面结果,当网站访问速度慢而前端做了大量优化工作以后,数据库瓶颈的查找也是WEB
- 前言这篇博客针对《Python OpenCV识别行人入口进出人数统计》编写代码,功能包括了入口行人识别,人数统计。代码整洁,规则,易读。应用
- 题目描述705. 设计哈希集合不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现 MyHashSet 类:void add(k
- 本节描述openGauss数据库在虚拟机VirtualBox+openEuler上的安装配置。1、虚拟机VirtualBox下载及安装步骤
- 背景:有些数学题目经常要用到数形结合思想,尤其是一些函数题目,如果能够把函数图像画出来进行解题的话,思路会更加清晰明了。python绘图主要
- CentOS 7上PHP默认是以apache或者nobody的身份运行的,这种方式下由于PHP运行需要的权限比较大,会有安全隐患,还可能会受
- 本文介绍了写给新手同学的vuex快速上手指北小结,分享给大家,具体如下引入//store.jsimport Vue from 'vu
- 由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Orac
- MySQL Binary Log也就是常说的bin-log, ,是mysql执行改动产生的二进制日志文件,其主要作用有两个: * 数据回复
- 北京时间2月15日据国外媒体报道,美国知名sns网站Facebook全球活跃用户量已突破1.75亿大关。数据显示,全球20%的网民都使用Fa
- 最近一直在做订单类的项目,使用了事务。我们的数据库选用的是MySql,存储引擎选用innoDB,innoDB对事务有着良好的支持。这篇文章我
- 两周前,在给颜值在线的 flame 提交了几个 PR 之后,我将它封装成了容器,用于书签和在线应用的管理。但是在迁移个人
- 最近工作中的一个项目需要自动发送一些信息邮件到指定邮箱的需求,那么如何实现Python自动发送邮件的功能呢?接下来我们就来简单的介绍下如何利
- 外键在 MySQL 中,表有两种引擎,一种是 InnoDB ,另外一种是 myisam 。如果使用的是 InnoDB 引擎,是支持外键约束的