2.4可以复用的代码——编程解决火柴棒摆数字问题教学目标了解函数的作用学会函数的定义和调用方法,并能熟练使用函数解决问题学会发布共享代码的常见方法,并能熟练使用模块解决问题123问题展示现有6根火柴棒,请列出所有能摆出的自然数,要求火柴棒正好用完。如何用程序实现?【思考】1、该程序中定义了一个名为________的函数2、函数的调用采用_______________的方式?【预热】请同学们阅读课本P42并分析以下程序代码:deffactorial(n):#求n!s=1foriinrange(2,n+1):s=s*ireturns#调用factorial函数total=factorial(4)print(total)input(运行完毕,请按回车键退出...)3、函数执行完后,由__________语句将表达式值返回给调用者,结束函数。4、如果要计算8!,程序代码中该修改哪句_____________活动一问题热身,揭开函数的面纱思维激发除去这些数据的值不同,复用的代码完全一样。软件为什么要用函数?具体调用函数时,采用的方式电子表格(excel或wps)编程语言(python)解决重复相同的数据运算问题解决代码重复使用的问题=函数名(单元格地址)函数名(参数)函数函数分为系统函数和用户自定义函数两种类型。1、求和函数sum(x)2、模拟转盘抽奖游戏3、浮点型函数float(x)4、火柴棒摆数字问题请辨析以下函数分别属于哪类函数活动二问题分析,设计解决问题的算法数字所用火柴棒数6255456376【思考回答】1、6根火柴棒可以摆出的最小数字是:__________可以摆出的最大数字为:__________2、要判断一个数所用的火柴数,需要对每一位上的数所用火柴数求_______数学分析活动二问题分析,设计解决问题的算法自然语言描述算法环节请用自然语言描述算法列出区间计算数量比较输出哪一部分是要重复使用的?活动二问题分析,设计解决问题的算法流程图描述算法【思考】如果想列出8根火柴正好全部用完能摆出的数字数,该修改的程序代码为:活动三运用自定义函数实现问题解决请调试运行,将程序文件名命名为“姓名+活动3.py”,并提交至教师机,并以小组为单位进行讲解展示。请将重复使用的部分代码定义成名为match_num的函数,完善程序代码,并调试运行(程序名为:活动三.py)。123请在D盘创建一个名为mymodule的文件夹在该文件夹内拷入两个文件:mymodule.py和setup.py打开这两个文件了解其代码内容,做到融会贯通活动四发布共享代码准备工作发布模块举一反三体验模块调用活动五导入并使用模块1、已经发布的模块在导入时要使用语句:_________________________________2、调用模块内的函数时要用________________________实现如果发布的模块名为test,其模块内定义的函数名为huochaishu,该程序中该修改的语句为:_______________知识补充常见内置模块常见内置模块:运行以下程序代码,体验内置模块random的使用:importrandomnum=random.randint(0,10)print(num)模块名功能Math模块包含大量的数学函数和常用常数Random模块用来生成随机数Time模块用来获取计算机的时间信息sys模块包含跟python环境相关的函数活动六拓展练习请完善修改程序活动六.py,实现输入一个人的出生年份(=1900),输出他的生肖,直到输入0结束。defshengxiao(year):#求生肖zodiac=[鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪]index=(year-1972)%12return______#以下为主程序myyear=int(input(请输入出生年份,输入0结束:))whilemyyear!=0:print(你的生肖是:,_________)myyear=int(input(请输入出生年份,输入0结束:))活动七展示与评价评价方面学习内容完全掌握(√)部分掌握(√)需要继续学习(√)知识学习1.了解函数的作用2.知道函数的定义方法和调用方法3.会发布代码并能用模块解决问题4.了解python常见内置模块的功能课堂表现是(√)否(√)主动思考,积极参加项目活动主动展示,积极参与组内讨论课堂收获是(√)否(√)能够将大问题分解成小问题,并转化为算法思想逐步养成严谨、扎实的学习品质谢谢