资源简介 (共14张PPT)2.4 可以复用的代码教育科学出版社高中信息技术必修1《数据与计算》第二章 编程计算有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。思考:6根火柴棒能摆放的最大数是多少?任务一: 用自定义函数实现火柴棒摆数字问题数字 0 1 2 3 4 5 6 7 8 9需要的 火柴棒 6 2 5 5 4 5 6 3 7 6可以用6根火柴棒摆放的数字,分别是:069144177111任务一: 用自定义函数实现火柴棒摆数字问题分析问题: 分解这个数字中的每个位数上的数字设计算法:实现方法:1、将这个数除以10求余(取模),求得个位数2、将这个数除以10取整数3、重复第1和第2步骤,直到这个数为0如:123分解成1、2、3运算 商 余数123%10 3123//10 1212%10 212//10 11%10 11//10 0开 始结 束i = 0i < = 111i 需要6根火柴棒输出 ii = i + 1YNYN任务一: 用自定义函数实现火柴棒摆数字问题数字 0 1 2 3 4 5 6 7 8 9需要的 火柴棒 6 2 5 5 4 5 6 3 7 6编写程序:list=[6,2,5,5,4,5,6,3,7,6]print("6根火柴棒可以摆出:",end=' ')for num in range(112):if num==0:s=list[0]else:否num1=nums=0while num1>0:i=num1%10s=s+list[i]num1=num1//10if s==6:print(num,end=' ')print()开 始结 束i = 0i < = 111i 需要6根火柴棒输出 ii = i + 1YNYN任务一: 用自定义函数实现火柴棒摆数字问题函数:将一组语句用一个名字封装起来。系统函数函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编好的程序。print() input()int() float()自定义函数用户自己编写的一段程序。基本格式 :def 函数名(参数):语句或语句组return 返回值向函数传递值,多个参数之间用逗号隔开将表达式的值返回给调用者重复使用的代码同变量命名规则任务一: 用自定义函数实现火柴棒摆数字问题函数调用:函数名(参数)#调用factorial函数total=factorial(4)print(total)因此,这一行才是主程序的第一行,从这里开始执行。def factorial(n):s=1for i in range(2,n+1):s=s*ireturn s因为出现def,所以跳过任务一: 用自定义函数实现火柴棒摆数字问题自定义函数:编码实现:计算6根火柴棒能摆出的数字snum=6i=1while i<=111:if macth_num(i)==snum:print(i)i=i+1else:i=i+1snum=6for i in range(112):if macth_num(i)==snum:print(i)def macth_num(num):f=[6,2,5,5,4,5,6,3,7,6]total=0if num==0:total=f[0]else:while num>0:x=num%10total=total+f [x]num=num//10return total计算摆出一个数字需要的火柴棒数while循环for循环课 堂 练 习1.在 Python 语言中,创建自定义函数的语法规范是( )。A.del 函数名(参数): B.def 函数名(参数):C.define 函数名(参数): D.sub 函数名(参数):2.以下程序的输出正确的是( )A.81 7 B. 4 4 C.12 7 D.hellodef mypow(x,y=2):return x**y,x+yprint(“hello”)a,b=mypow(3,4)print(a,b)BA3.下列代码的输出结果是什么?( )def sum(a,b):c=a+breturn cprint(sum(4,5))A.4 B.5 C.9 D.1C课 堂 练 习def factorial(n):#求n!s=1for i in range(2,n+1):s=s*ireturn s#调用factorial函数total=factorial(4)print(“4的阶乘:”total)def factorial(n):s=1for i in range(2,n+1):s=s*ireturn sx=int(______________________)total=0for j in range(__,_____):print(i,"的阶乘是:", )total=____ ______print("1!+2!+3!+....+%d!=%d:"(x,total))计算1!+2!+3!+......+(x-1)!+x! (x由键盘输入)input(“请输入x:”)factorial(i)x+1total+factorial(j)计算4!1课 堂 练 习请编写程序,实现输入一个农历年份(>=1900),输出该年对应的生肖,直到输入0结束,运行结果如图2.4.5所示。def shengxiao(year):#求生肖zodiac=[“鼠”,“牛”,“虎”,“兔”,“龙”,“蛇”,“马”,“羊”,“猴”,“鸡”,“狗”,“猪”]index=(year-1972)%12return zodiac[ index]#以下为主程序myyear=int(input(“请输入农历年份,输出0结束:”))while myyear!=0print(“生肖是:”,shengxiao(myyear))myyear=int(input(“请输入农历年份,输入0结束:”))任务二: 发布共享代码1、首先做好发布前的准备工作。在D:创建一个文件夹mymodule,其中包含mymodule.py和setup.py两个文件。2、打开mymodule所在的目录,构建发布文件。3、 最后将发布文件安装到你的Python本地副本中。 安装完成后, mymodule文件夹包含了如图2.4.4所示的文件。任务二: 发布共享代码将发布安装在你的python的本地副本中任务二: 发布共享代码导入并使用模块导入语句 import mymodule调用模块内的函数时用 mymodule.match_num(参数) 来实现。课 堂 总 结函数模块代码复用的常见方法导入模块:import 模块名例:import random使用函数:模块名.函数名()例:random.randint()自定义函数:def 函数名(参数):语句或语句组return 返回值 展开更多...... 收起↑ 资源预览