1、CHINA FRESH STYLECan reuse the code可以复用的代码授课人:信息技术老师学习目标Learning goals函数的定义和调用Learn how to use function definitions and call methods贰发布共享代码Learn to release the commonly used method share code 叁了解函数的作用Understand what functions do 壹CHINA FRESH STYLE 当我们面对一些复杂问题时,可以采取“自顶向下、逐步细化自顶向下、逐步细化”的方法,即将一个完整的问题分成
2、若干个小问题,每个小问题实现一个功能,再将每个小问题逐步细化、分解为一系列具体可实现的步骤。本节我们将围绕“”项目展开学习,通过该项目活动,体验复用和共享代码为编程带来的便利。CHINA FRESH STYLE我们一起来每个数字每个数字都用了多少根火柴呢?CHINA FRESH STYLE如何计算一个数需要多少根火柴棒呢?数字数字0 01 12 23 34 45 56 67 78 89 9需要的需要的火柴棒火柴棒6 62 25 55 54 45 56 63 37 76 61.列出5个用6根火柴棒摆出的数字,分别是0,6,9,14 ,77,1112.要摆出数字103需要多少根火柴棒?怎么计算?可
3、以将这个数的每个数位上的数字所需要的火柴棒数加起来。问问:有六根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。想一想:根据上述问题怎样设计算法设计算法呢?CHINA FRESH STYLE算法分析1.数字“1”需要的火柴棒最少,所以能摆出的自然数最大是1112.计算0和111之间的所有数字,统计需要的火柴棒3.只要是恰好需要6根火柴棒的直接输出。算法设计算法设计查找符合条件数的范围从0开始,利用穷举法列举出范围内每个数每个数需要多少根火柴棒。判断是否用了6根,满足条件,输出此数。1432CHINA FRESH STYLE算法流程图描述CHINA FRESH STYLE如何让计算机找出这个
4、数字中的所有个位数呢?想一想,如果我们想得到“125”的个位上的“5”,哪种运算可以实现?除、整除还是取模?125%10=5我们定义一个变量digit来接受取模运算的结果,用tens来接受整除的结果:digit1=125%10tens1=125/10Digit2=tens1%10tens2=tens1/10CHINA FRESH STYLE1.将这个数除以10求余(取模),求得个位数;2.将这个数除以10取整数3.重复第1和第2步骤,直到这个数为0如何设计算法,让计算机找出这个数字中的所有个位数呢?实现方法:CHINA FRESH STYLE算法的流程图描述及代码实现list=6,2,5,5,
5、4,5,6,3,7,6num=int(input(“请输入0-111之间的任意数字”)while(num0):i=num%10s=s+listinum=num/10数字数字0 01 12 23 34 45 56 67 78 89 9需要的火柴棒6 62 25 55 54 45 56 63 37 76 6CHINA FRESH STYLE设计函数计算摆出一个数字需要的火柴棒数def Match_num(num):list=6,2,5,5,4,5,6,3,7,6s=0while(num0):i=num%10s=s+listinum=num/10print(s)代码实现sum=6i=0while(i
6、=111):if(Match_num(i)=sum):print(i)i=i+1else:i=i+1函数CHINA FRESH STYLE壹function函数F U N C T I O N用户自定义函数 用户自定义函数是用户自己编写的一段程序系统函数 系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编好的程序。如:print()print()输出函数输出函数 input()input()输入函数输入函数函数函数函数名参数返回值函数体def 函数名(参数):#函数说明 语句或语句组 return 返回值返回值1 1、普通函数普通函数 myfunction(),my_
7、function_name()小写字母;可使用下划线,单词之间用_分割;如:myfunction(),my_example_function(),get_name(),count_number(),ad_stat()2 2、私有函数私有函数(外部访问会报错)_get_name()以_开头(2个下划线)小写字母;可使用下划线,单词之间用_分割;如:_get_name()函数名:函数名:参数:参数:是用来向函数传递值的,当有多个参数时,用“,”分隔开。返回值:返回值:函数执行完成,由return语句将表达式 值返回给调用者,结束函数。函数调用:函数调用:函数的调用采用函数名(参数)的方式。注注:程
8、序执行时程序执行时defdef块中的代码不是主程序的一部分,块中的代码不是主程序的一部分,因此会跳过该代码。因此会跳过该代码。def repeat(n):#输出n次“中国,你最棒!”for i in range(n):print(i+1,中国,你最棒!)return nn=int(input(请输入你要重复的次数:)print(共输出了,repeat(n),次中国你最棒!)举例:举例:程序执行顺序:程序执行顺序:1、n=2、print()3、def repeat(n)Post code发布代码CHINA FRESH STYLE贰以python安装在D盘为例命令提示符:pythonimport
9、sysprint(sys.path)了解python安装位置新建:mymodule.py与setup.py文件在python安装位置处创建文件夹命令提示符:d:cd mymoduled:pythonpython setup.py sdist构建发布文件构建发布文件命令提示符:d:pythonpython setup.py install安装发布文件导入模块并使用I m p o r t t h e m o d u l e a n d u s e i t使用语句:“import mymodule”导入模块导入模块mymodule.match_num()调用函数调用函数已经构建发布的模块必须先导入程
10、序才能使用Built and published modules must be imported into the program before they can be used.Has been released to build module has to lead into the program to use课堂总结C l A S S S U M M A R Y To improve the efficiency of the programSystem functions and user-defined functionsdef def 函数名函数名(参数参数):):#函数说明函数说明 语句或语句组语句或语句组 return return 返回值返回值发布代码发布代码导入模块并使用导入模块并使用函数的作用函数的定义函数的格式共享代码CHINA FRESH STYLECan reuse the code感谢您的观看授 课 人:信 息 技 术 老 师