- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交通大学 python程序设计课程PPT Ch4
关于return return通常出现在函数末尾,因为函数一般都是执行完所有步骤之后才能得出计算结果并返回. 有时在函数到达末尾之前就终止执行并返回. def f(x): if x = 0: print 请输入正数. return y = x ** 3 return y 如果函数定义中没有return,Python仍会返回一个特殊值:None. * 自顶向下设计 对复杂问题常采用逐层分解的设计方法,也称为逐步求精. 首先对整个系统进行顶层子系统的设计.在此并不给出各个子系统的细节. 其次对每个子系统重复这个设计过程,即再分解为下一层子系统. 直至每个子系统的功能足够简单,可以直接编码实现. * * 编程案例:打印年历 程序规格 程序:calendar 输入:公元年份year(1900以后) 输出:year年年历 输入与输出的关系是:根据year可算出相对于1900年1月1日(星期一)总共过去了多少天,按7天循环即可得知year年1月1日是星期几,从而可推算出全年年历. * * 顶层设计 基本算法 输入year 计算year年1月1日是星期几 输出年历基本程序 主模块 def main(): year = getYear() w = firstDay(year) printCalendar(year,w) * * 结构图 用结构图(或称模块层次图)表示: * * 抽象 抽象:确定某事物的重要特性并忽略其他细节的过程. 在自顶向下设计的每一层,用接口指明需要下一层的哪些细节;其他可暂时忽略. 例如,main()需要getYear返回year,但如何获得这个信息则暂时忽略; 又如,main()将year传给firstDay(),并期望该模块返回元旦的星期信息w.如何得到w也暂时忽略. * * 第二层设计(1) getYear足够简单,可以直接编码: def getYear(): print 本程序打印年历. year = input(请输入年份(1900后):) return year firstDay还需要闰年的信息 def firstDay(year): k = leapyears(year) n = (year–1900) * 365 + k return (n + 1) % 7 * * 第二层设计(2) printCalendar():打印年历需要打印每个月,每个月应该有标题. def printCalendar(year,w): print print ===== + str(year) + ===== first = w for month in range(12): heading(month) first = oneMonth(year,month,first) * * 第二层设计(3) 结构图 * * 第三层设计(1) leapyears():1900~year间的闰年数 def leapyears(year): count = 0 for y in range(1900,year): if y%4 == 0 and (y%100 != 0 or y%400 == 0): count = count + 1 return count heading():月历标题栏 def heading(m): months = [Jan,Feb, ... ,Dec] print %s % (months[m]) print Mon Tue Wed Thu Fri Sat Sun * * 第三层设计(2) oneMonth():打印一个月的月历 需要知道该月1日是星期几,该月有多少天,输出布局是怎样的. def oneMonth(year,month,first): d = days(year,month) frame = layout(first,d) printMonth(frame) return (first + d) % 7 * * 第三层设计(3) 结构图 * * 第四层设计(1) 函数days() def days(y,m): month_days = [31,28,31,30,31,30,31,31,30,31,30,31] d = month_days[m] if (m == 1) and (y%4 == 0 and \
您可能关注的文档
- 三字经(带翻译).doc
- 三位母亲分苹果的方法作文讲评2017.ppt
- 三国演义导读 ppt. 2017.2.ppt
- 三宝、四口、临边防护措施.doc
- 三岁看大,七岁看老,早教应趁早,家庭最重要.pptx
- 三峡大学学生综合素质测评方案 (修订稿).docx
- 三一班主题班会.ppt
- 三岔河中小河流治理施工组织设计.doc
- 三年级 东南西北(西师大版).ppt
- 三年级--24时间的计算ppt.ppt
- 七章货物的保险.pptx
- 三章国际间接投资.pptx
- 人性假设理论.pptx
- 外研高一英语必修三ModuleIntroduction汇总市公开课获奖课件省名师示范课获奖课件.pptx
- 月相成因优质获奖课件.pptx
- 小学二年级语文课件《狐假虎威》省名师优质课赛课获奖课件市赛课一等奖课件.pptx
- 养羊业概况专题知识讲座.pptx
- 微生物的实验室培养市公开课获奖课件省名师示范课获奖课件.pptx
- 人教版六年级下册式与方程整理与复习市公开课获奖课件省名师示范课获奖课件.pptx
- 必威体育精装版高中精品语文教学:第二单元-第7课-诗三首:涉江采芙蓉、-短歌行、归园田居市公开课获奖课件省名师.pptx
文档评论(0)