Python电子教案5-2 函数和代码复用.ppt

Python电子教案5-2 函数和代码复用.ppt

ID:50246113

大小:809.00 KB

页数:56页

时间:2020-03-10

Python电子教案5-2 函数和代码复用.ppt_第1页
Python电子教案5-2 函数和代码复用.ppt_第2页
Python电子教案5-2 函数和代码复用.ppt_第3页
Python电子教案5-2 函数和代码复用.ppt_第4页
Python电子教案5-2 函数和代码复用.ppt_第5页
资源描述:

《Python电子教案5-2 函数和代码复用.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、七段数码管绘制数码管是一种价格便宜、使用简单的发光电子器件,广泛应用在价格较低的电子类产品中,其中,七段数码管最为常用。七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置,如图5.4所示。七段数码管绘制七段数码管绘制七段数码管能形成27=128种不同状态,其中部分状态能够显示易于人们理解的数字或字母含义,因此被广泛使用。图5.5给出了十六进制中16个字符的七段数码管表示。七段数码管绘制本节将延续实例2和第2.4节内容,通过部分turtle库函数绘制七段数码管形式的日期信息。该问题

2、的IPO描述如下:输入:当前日期的数字形式处理:根据每个数字绘制七段数码管表示输出:绘制当前日期的七段数码管表示七段数码管绘制每个0到9的数字都有相同的七段数码管样式,因此,可以通过设计函数复用数字的绘制过程。进一步,每个七段数码管包括7个数码管样式,除了数码管位置不同外,绘制风格一致,也可以通过函数复用单个数码段的绘制过程。这里,先给出程序的全部代码,实例代码7.1如下七段数码管绘制实例代码7.1定义了drawDigit()函数,该函数根据输入的数字d绘制七段数码管,结合七段数码管结构,每个数码管的绘制采用图5.6所示顺序。七段数码管绘制绘制起点在数码管中部左侧,无论

3、每段数码管是否被绘制出来,turtle画笔都按顺序“画完”所有7个数码管。对于给定数字d,哪个数码段被绘制出来采用if…else…语句判断。drawLine(True)ifdin[2,3,4,5,6,8,9]elsedrawLine(False)七段数码管绘制以第8行为例,代码采用了单行if…else语句,这种语句常用于if和else分别只有一行语句的情形。第8行代码含义采用普通if…else语句表达如下,可见,单行语句的实现方式能够使表达更加紧凑。ifdin[2,3,4,5,6,8,9]:drawLine(True)else:drawLine(False)七段数码管绘

4、制第8行代码根据输入数字判断是否要绘制七段数码管最中间的横线当需要绘制时,调用绘制函数drawLine(),参数赋值True当不需要绘制时,赋值参数False。根据0-9数字结构,对于2,3,4,5,6,8,9这些数字需要绘制,否则不需要绘制。为了使输出样式固定,简化设计,当不需要绘制时,turtle画笔需要抬起。drawLine()函数根据输出参数的值(True或False)决定是否抬起画笔。七段数码管绘制为了使代码模块化更好,实例代码7.1定义了drawDate()函数和main()函数。drawDate()函数将更长数字分解为单个数字,进一步调用drawDigit

5、()分别绘制每个数字。main()函数将启动窗体大小、画笔宽度、系统时间等功能封装在一起,但main()函数并不体现单一功能,这种封装仅从提高代码可读性角度考虑。七段数码管绘制实例代码7.1的运行效果实例代码7.1仅给出了最基本的七段数码管绘制程序,可以看出,使用函数能大量复用代码,避免相同功能重复编写。此外,函数的好处还体现在对代码的修改方面。能否绘制更有趣的七段数码管呢?实例代码7.2给出了图5.8的绘制风格,请读者比较实例代码7.2和实例代码7.1,进一步体会函数为编程带来的便利。七段数码管绘制实例代码7.2的运行效果代码的复用和模块化设计程序由一系列代码组成,如

6、果代码是顺序但无组织的,不仅不利于阅读和理解,也很难进行升级和维护。因此,需要对代码进行抽象,形成易于理解的结构。当代编程语言从代码层面采用函数和对象两种抽象方式,分别对应面向过程和面向对象编程思想。复用和模块化函数是程序的一种基本抽象方式,它将一系列代码组织起来通过命名供其他程序使用。函数封装的直接好处是代码复用,任何其他代码只要输入参数即可调用函数,从而避免相同功能代码在被调用处重复编写。代码复用产生了另一个好处,当更新函数功能时,所有被调用处的功能都被更新。复用和模块化对象是程序的一种高级抽象方式,它将程序代码组织为更高级别的类。对象包括表征对象特征的属性和代表对

7、象操作的方法。例如,汽车是一个对象,其颜色、轮胎数量、车型是属性,代表汽车的静态值;前进、后退、转弯等是方法,代表汽车的动作和行为。在程序设计中,如果代表对象,获取其属性采用.,调用其方法采用.()。对象的方法具有程序功能性,因此采用函数形式封装。复用和模块化简单地,对象是程序拟解决计算问题的一个高级别抽象,它包括一组静态值(属性)和一组函数(方法)。从代码行数角度,对象和函数都使用了一个容易理解的抽象逻辑,但对象可以凝聚更多代码。因此,面向对象编程更适合代码规模较大,交互逻辑复杂的程序复用和模块

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。