《【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1.pptx》由会员分享,可在线阅读,更多相关《【信息技术 】可复用的代码 课件 教科版(2019)高中信息技术必修1.pptx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、可以复用的代可以复用的代码/函数/发布代码/导入 模块并 使 用/总结/2.4学学习目目标030201学会学会发布共享代布共享代码的常的常见方法,并能熟方法,并能熟练使用模使用模块解决解决问题。学会函数的定学会函数的定义和和调用方法,并能熟用方法,并能熟练使用函数解决使用函数解决问题。了解函数的作用。了解函数的作用。l当我们面对一些复杂问题时,可以采取“自顶向下、逐步细化”的方法,即将一个完整的问题分成若干个小问题,每个小问题实现一个功能,再将每个小问题逐步细化、分解为一系列具体可实现的步骤。l本节我们将围绕解决“火柴棒摆数字问题”项目展开学习,通过该项目活动,体验复用和共享代码为编程带来的便
2、利。复复杂的的问题子问题1孙问题1孙问题2孙问题3子问题2孙问题1孙问题2孙问题3子问题3孙问题1孙问题2孙问题3得出结论任任务一一 用自定用自定义函数函数实现摆数字数字问题 问题:有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。思考:利用6根火柴棒能够列出的最大数字是多少呢?如何如何计算一个数需要多少根火柴棒呢算一个数需要多少根火柴棒呢?数字数字0123456789需要的火柴棒62554563761.列出几个用6根火柴棒摆出的数字,分别是:0,6,9,14,41,77,1112.利用6根火柴棒能够列出的最大数字是多少呢?数字“1”需要的火柴棒最少,所以能够摆出的自然数最大是111。
3、3.要摆出数字510需要多少根火柴棒?怎么计算?将这个数的每个数位上的数字所需要的火柴棒数加起来。算法分析算法分析1.数字“1”需要的火柴棒最少,所以能够摆出的自然数最大是111。2.计算0和111之间的所有数字,统计需要的火柴棒。3.将恰好需要6根火柴棒的直接输出。如何如何让计算机找出数字所有数位上的数字呢算机找出数字所有数位上的数字呢?如果我们要得到“206”个位上的“6”,哪种运算可以实现?除法、整除还是取模?我们定义一个变量n来接受取模运算的结果,用t来接受整除的结果:n1=206%10t1=206/10n2=t1%10t2=t1/10206%10=6如何如何让计算机找出数字所有数位上
4、的数字呢算机找出数字所有数位上的数字呢?1.将这个数除以10求余,求得个位数;2.将这个数除以十取整;3.重复以上两步,直到这个数为0。实现方法:算法的流程算法的流程图描述及描述及实现(函数函数设计)数字数字0123456789需要的火柴棒6255456376defMatch_num(num):list=6,2,5,5,4,5,6,3,7,6#0-9的数字分别需要多少根小棒s=0num=int(input(“请输入0-111之间的任意一个数“)ifnum=0:#火柴棒总数变量赋初值s=list0else:s=0#火柴棒总数变量赋初值while(num0):x=num%10#取num除以10的余
5、数,即num的个位数s=s+listx#所需火柴棒数累加num=num/10#num整除10,即去掉num的个位print(s)自定义函数Match_num(num)List=6,2,5,5,4,5,6,3,7,6S=0num0i=num%10s=s+listinum=num/10输出s结束否是num=0S=list0是否代代码实现开始sum=6i=0i111Match_num(i)=sum?输出ii=i+1结束否否是是sum=6i=0while(i=111):if(Match_num(i)=sum):print(i)i=i+1else:i=i+1函数函数函数可分为系统函数和用户自定义函数两种
6、类型。系统函数即函数库中的标准函数。在前面单元使用过的print()和input()函数都是系统函数。自定义函数基本格式:def函数名(参数):#函数说明语句或语句组(函数体)return返回值参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由return语句将表达式值返回给调用者,结束函数。函数的调用采用函数名(参数)的方式。数学运算类函数;数据转换类函数;字符串操作类函数;输人输出函数;文件操作类函数;其他类函数。案例分析:用自定案例分析:用自定义函数求函数求n!deffactorial(n):#自定义函数名为factorial,有一个参数为ns=1fo
7、riinrange(2,n+1):s=s*ireturns#函数返回值为s#调用factorial函数total=factorial(4)print(total)任任务二二 发布共享代布共享代码实现火柴棒火柴棒摆数字数字问题将“计算一个数需要多少根火柴棒”的函数matchnum转换为模块,然后发布。首先做好发布前的准备工作:在D:创建一个文件夹mymodule,其中包含mymodule.py和setup.py两个文件。mymodule.py是一个模块文件:其内容就是match_num函数。代代码发布布函数函数Match_ num代代码代代码发布布Setup.py文件包含有关文件包含有关发布的元
8、数据布的元数据代代码发布布实现然后打开mymodule所在的目录,构建发布文件。最后将发布文件安装到你的Python本地副本中。安装完成后,mymodule文件夹包含了如图2.4.4所示的文件。如果你想让全世界都分享你的成果,你可以在互联网上发布你的代码。导入模入模块并使用并使用已经构建发布的模块必须先导人程序才能使用。导人时使用语句“importmymodule”,调用模块内的函数时用“mymodule.match_num()”来实现。完善下列程序,导入安装发布好的模块mymodule,实现火柴棒摆数字问题:mymodulemymodule.match_num(i)课后后练习巩固提升巩固提升课堂小堂小结可以复用的代码函数系统函数,如input()、print()用户自定义函数格式:Def函数名(参数)语句或语句组(函数体)返回值函数调用通过函数名调用发布共享代码模块的导入使用Import模块名称时代代是是思思想想之之母母,实践践是是理理论之之源源。