当前位置: 首页 > news >正文

展厅设计制作网站寻找石家庄网站建设

展厅设计制作网站,寻找石家庄网站建设,网页设计期末作品源代码,昵图网ppt模板免费下载[导读]#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后#xff0c;受到了广大老师和家长的好评#xff0c;非常感谢各位的认可和厚爱。作为回馈#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》#xff0c;这是解读系列的第5讲。 turtle绘制分形树超平老师的Scratch蓝桥杯真题解读系列在推出之后受到了广大老师和家长的好评非常感谢各位的认可和厚爱。作为回馈超平老师计划推出《Python蓝桥杯真题解析100讲》这是解读系列的第5讲。 turtle绘制分形树本题是2019年3月24日举行的第10届蓝桥杯青少组Python编程第5题题目要求使用turtle绘制二叉树和分形树丛。 先来看看题目的要求吧。 一.题目说明 1 题目说明  编程实现 分形树 步骤 1 利用 turtle 画出如本题图-1所示的分形树。 具体要求  1) 树木主干向上生长 2) 分形层数为4二叉树  3) 第一层树枝长度为60逐层减6  4) 左右树枝的倾斜角度不限最终效果与图-1 所示大致相同即可。  5) 必须能看出绘图过程。 将程序命名为“lq00501”。 评判标准 10分能够画出大致如图中的第一层树枝 30分能够画出大致如图中的两层以上的树枝且为二叉树 50分完全符合题意即向上生长二叉树层数为4树枝长度每层递减能看出绘图过程。 步骤 2 一.修改步骤1中生成分形树的方法 1) 分形层数改为 4~6 之间的随机数  2) 第一层树枝长改为 30~60 之间的随机数 二.绘制分形树丛  1) 在 800X600 的屏幕中绘制分形树丛  2) 树木数量为 50 棵  3) 每棵分形树的树根位置为屏幕范围内随机坐标点树枝允许伸出屏幕窗口外  4) 以屏幕中心垂直线为分界位于屏幕左侧的树木向左倾斜位于屏幕右侧的树木向右倾斜  5) 绘制过程瞬间完成即看不到绘画过程。 整体绘制样例如本题图-2下面两张图所示。 将程序命名为“lq00502”。 评判标准 0 分步骤 1 没有得到满分 10 分能在画布中画出 50 颗随机位置的树木即使朝向相同、层数固定 30 分在 10 分标准的基础上能画出层数随机、树枝长短随机的分形树 50 分完全符合题意即在 30 分标准的基础上能画出符合题意要求朝向倾斜的分形树且绘画过程瞬间完成即看不到绘画过程。 二.思路分析 这是一道海龟画图的题目涉及到的知识点主要包括turtle的灵活运用以及递归算法。 根据题目的要求和描述采取逐步分解的思维我们可以将本题分成如下四步 绘制层数为1的二叉树 绘制层数为4的二叉树 层数和树枝长度随机 绘制分形树丛 首先来看第一步这一步最简单只需要绘制两个树枝即可如图所示 绘制方法也比较简单需要注意的是小海龟的初始方向向上在绘制完毕后小海龟必须恢复到原始状态包括位置和方向。 对应的代码大致如下 接下来我们考虑第二步绘制层数为4的二叉树。聪明的你应该发现了这里面的规律每一棵独立的二叉树的画法都是一样的。 所不同的只是位置和大小这不就是典型的递归吗。 因此我们可以定义一个方递归函数其参数为层数和树枝长度然后分别在两棵子树的顶端调用自己调用时需要改变层数和长度。 对于很多同学来说递归不太好理解其实你只需记住两点 1). 在什么时候需要调用递归函数 2). 调用时参数应该如何变化 其它的交给递归函数就好了它会帮我们完成具体的绘制过程的。 第三步相对比较简单只需生成两个随机数作为参数进行调用即可。 第四步绘制分形树丛这是本题的难点。仔细观察绘制样例可以发现树丛中的树分为两种一种是向左倾斜的一种是向右倾斜的。 而前面绘制的二叉树是对称的因此需要在此基础上进行调整其实只需要将角度做一个微调就可以了。 由于有两种不同的倾斜方向可以定义两个递归函数分别对应两种不同的二叉树。 思路有了接下来我们就进入具体的编程实现环节。 三.编程实现 根据上面的思路分析我们分4步来编写代码 定义递归函数 绘制4层二叉树 随机层数和长度 绘制分形树丛 1. 定义递归函数 根据上面的思路分析定义递归函数tree()如下 每一步都有详细注释这里就不再赘述了强调一点递推函数一定要有边界条件也就是出口本例中的n 0就是边界条件。如果没有边界条件那么就会陷入死循环。 2. 绘制4层二叉树 使用组合函数相对就简单多了代码如下 代码比较简单需要强调的是关于小海龟的方向有两种模式分别是标准模式和logo模式如图 turtle默认使用的是标准模式在该模式下默认方向是东向右。如果需要小海龟向上则需要使用seth(90)函数设置。 这样一来4层结构的二叉树就绘制好了可以按照题目要求保存为lq00501.py了。 3. 随机层数和长度 这一步相对比较简单需要导入随机库生成两个随机数分别表示层数和树枝长度然后调用函数即可代码如下 4. 绘制分形树丛 根据前面的思路分析需要定义两个函数分别实现两边倾斜的二叉树。 先定义左边倾斜的二叉树代码如下 其次是右边倾斜的二叉树代码如下 两段代码基本一样唯一不同的是方向一个朝左倾斜一个朝右倾斜。 以左二叉树为例先左转30度绘制左边的树然后右转10度绘制右边的树再退回到起点之后再右转20度确保恢复到初始状态。 有了这两个函数接下来就可以绘制树丛了一共是50棵需要用到循环同时使用随机数生成随机坐标再根据坐标绘制相应的二叉树即可。 对应的代码如下 简要说明两点 1). 题目要求瞬间完成此时就不能speed()方法了需要使用t.tracer(0)和t.update()配合使用 2). 移动小海龟时需要抬笔避免多余的直线 运行程序执行结果如下 按照题目要求 将第3步和第4步的代码保存为lq00502就可以了。 怎么样效果还不错吧 至此整个程序就全部完成了。 四.总结与思考 本题是中级组编程部分第5题分数为100分代码在50行左右涉及到的知识点包括 循环语句主要是for...in循环 Turtle的灵活运用 函数的定义及使用 随机数的使用 坐标知识 递归算法 题目难度较大主要体现在两个方面一是绘制多层的二叉树二是绘制分形树丛。提到二叉树就离不开递归算法递归算法的特点就是代码比较简洁但是理解起来有些困难。 关于递归超平老师后面会出专题来进行详细讲解这里就不再单独说了先学会简单的应用就可以了。 超平老师给你留一个思考题除了本题给出的树的效果还有各种不同的效果比如 你知道该怎么绘制吗赶紧动手试试吧。 你还有什么好的想法和创意吗也非常欢迎和超平老师分享探讨。 如果你觉得文章对你有帮助别忘了点赞和转发予人玫瑰手有余香 需要源码的可以移步至“超平的编程课”gzh。
http://www.hkea.cn/news/14409430/

相关文章:

  • 天门市规划建设局网站重庆新闻天天630
  • 做移门图的 网站有哪些微信小程序开发模板网站
  • seo建站优化国外做电商网站有哪些
  • 网上书店网站建设策划书网站psd模版
  • 上海网站建设品广州营销型企业网站建设
  • 网站建设哪家好知道简述it外包的作用
  • 厦门网站建设价格互联网产品运营是做什么的
  • 建设零食网站的可行性公司建立网站用于业务
  • 临沂做网站电话如何建立一个网站预算多少
  • 珠海免费模板建站电子商务网站建设 填空题
  • 网站开发课程教学目标管理咨询公司名字大全
  • 网站建设const是什么意思it外包服务哪家好
  • 巴彦淖尔市百家姓网站建设小程序注册页面
  • 潜水艇官方网站代理两个域名指向一个网站
  • 建设网站的费用如何入账简单网页制作源代码
  • 排名好的青岛网站建设手机上制作网站的软件
  • 做网站图片教程微信公众号推广的方法
  • 湖州做网站建设的公司哪家好西安黄页
  • 怎么样做网站页面大型网架加工厂
  • 做网站沧州济宁手机网站开发公司
  • 校考前做试题的网站青岛关键词排名哪家好
  • 什么视频网站可以做链接地址凡客诚品和凡客
  • 怎么找网站建设学校网站建设的技术方案
  • 电商企业门户网站建设方案外贸建站哪个最便宜
  • 济宁高端网站建设网站如何做直播轮播
  • 地州电视网站建设流程广州工商注册咨询
  • 杭州做产地证去哪个网站北京电力交易中心绿色电力交易实施细则
  • 公司云网站建设如何诚信网站平台建设
  • 网站开发如何洽谈客户深圳微信公众号开发
  • 分类网站有哪些软件定制开发的发展前景