资源简介 (共25张PPT)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当我们面对一些复杂问题时,可以采取 “自顶向下、逐步细化 ” 的方法,即将一个完整的问题分成若干个小问题, 每个小问题实现一个功能, 再将每个小问题逐步细化、分解为一系列具体可实现的步骤。本节我们将围绕 “解决火柴棒摆数字问题” 项目展开学习, 通过该项目活动,体验复用和共享代码为编程带来的便利。CHINA FRESH STYLE我们一起来数一数每个数字都用了多少根火柴呢?CHINA FRESH STYLE如何计算一个数需要多少根火柴棒呢?数字 0 1 2 3 4 5 6 7 8 9需要的火柴棒 6 2 5 5 4 5 6 3 7 61.列出5个用6根火柴棒摆出的数字,分别是0 , 6 , 9 , 14 , 77 , 1112.要摆出数字103需要多少根火柴棒?怎么计算?可以将这个数的每个数位上的数字所需要的火柴棒数加起来。问:有六根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。想一想:根据上述问题怎样设计算法呢?CHINA FRESH STYLE算法分析1.数字“1”需要的火柴棒最少,所以能摆出的自然数最大是1112.计算0和111之间的所有数字,统计需要的火柴棒3.只要是恰好需要6根火柴棒的直接输出。算法设计查找符合条件数的范围从0开始,利用穷举法—列举出范围内每个数每个数需要多少根火柴棒。判断是否用了6根,满足条件,输出此数。1432CHINA FRESH STYLE算法流程图描述CHINA FRESH STYLE如何让计算机找出这个数字中的所有个位数呢?想一想,如果我们想得到“125”的个位上的“5”,哪种运算可以实现?除、整除还是取模?125%10=5我们定义一个变量digit来接受取模运算的结果,用tens来接受整除的结果:digit1 = 125%10 tens1=125//10Digit2 = tens1%10 tens2=tens1//10CHINA FRESH STYLE1.将这个数除以10求余(取模),求得个位数;2.将这个数除以10取整数3.重复第1和第2步骤,直到这个数为0如何设计算法,让计算机找出这个数字中的所有个位数呢?实现方法:CHINA FRESH STYLE算法的流程图描述及代码实现list = [6,2,5,5,4,5,6,3,7,6]num = int(input(“请输入0-111之间的任意数字”))while(num>0):i = num%10s = s + list[i]num = num//10数字 0 1 2 3 4 5 6 7 8 9需要的火柴棒 6 2 5 5 4 5 6 3 7 6CHINA FRESH STYLE设计函数——计算摆出一个数字需要的火柴棒数def Match_num(num):list=[6,2,5,5,4,5,6,3,7,6]s = 0while (num>0):i = num%10s = s+list[i]num = num//10print(s)代码实现sum = 6i = 0while(i<=111):if(Match_num(i)==sum):print(i)i = i + 1else:i=i+1函数CHINA FRESH STYLE壹function函数FUNCTION用户自定义函数用户自定义函数是用户自己编写的一段程序系统函数系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编好的程序。如:print()输出函数input()输入函数函数{函数名参数返回值函数体定义函数的基本格式def 函数名(参数):#函数说明语句或语句组return 返回值1、普通函数 myfunction(),my_function_name()小写字母;可使用下划线,单词之间用_分割;如:myfunction(),my_example_function(),get_name() ,count_number() ,ad_stat()2、私有函数(外部访问会报错)__get_name()以__开头(2个下划线)小写字母;可使用下划线,单词之间用_分割;如:__get_name()函数名:参数:是用来向函数传递值的,当有多个参数时,用“,”分隔开。返回值:函数执行完成,由return语句将表达式值返回给调用者,结束函数。函数调用:函数的调用采用函数名(参数)的方式。注:程序执行时def块中的代码不是主程序的一部分,因此会跳过该代码。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 sysprint(sys.path)了解python安装位置新建:mymodule.py与setup.py文件在python安装位置处创建文件夹命令提示符:d:cd mymoduled:\python\python setup.py sdist构建发布文件命令提示符:d:\python\python setup.py install安装发布文件导入模块并使用Import the module and use it使用语句:“import mymodule”导入模块mymodule.match_num()调用函数已经构建发布的模块必须先导入程序才能使用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课堂总结ClASS SUMMARYTo improve the efficiency of the programSystem functions and user-defined functionsdef 函数名(参数):#函数说明语句或语句组return 返回值发布代码导入模块并使用函数的作用函数的定义函数的格式共享代码CHINA FRESH STYLECan reuse the code感谢您的观看授课人:信息技术老师 展开更多...... 收起↑ 资源预览