2.4 可以复用的代码

2024-03-19
| 20页
| 965人阅读
| 3人下载
特供

内容正文:

周而复始的循环 ——函数 课堂目标 了解函数的作用。 掌握函数的定义和调用方法。 了解发布共享代码的常见方法。 2 火柴棒摆数字 有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。 问题: 3 火柴棒摆数字 每个数字需要几个火柴棒 6 2 5 5 4 5 6 3 7 6 问题1. 列举3个可以用6根火柴棒摆放的数字_______、__________、__________。 2. 6根火柴棒能摆放的最大数是____________。 参考答案:1. 0、6、9、14、41、77、111 2. 111 4 火柴棒摆数字的算法 算法分析 数字“1”需要的火柴棒最少,因此,能摆出的自然数最大为111。 对于0~111之间的每一个数进行计算,统计需要的火柴棒个数。 凡是恰好需要6根火柴棒的数据直接打印输出。 5 火柴棒摆数字的算法 2.用流程图表示 计算自然数num需要多少根火柴棒,可以分别计算num中各个数位需要多少根火柴,然后将各数位对应的火柴棒根数进行累加。 如何获得num各数位的值?将num除以10取余,求得个位数;然后将num除以10取整,去掉个位数。重复步骤直到num为0。显然可用while循环。 思考:如果一开始num就等于0,怎么办? 6 火柴棒摆数字的算法 num=int(input(“请输入一个数“)) f=[6,2,5,5,4,5,6,3,7,6] # 0-9的数字分别需要多少根小棒 if num==0: # 火柴棒总数变量赋初值 total=f[0] else: total=0 # 火柴棒总数变量赋初值 while (num>0): x=num % 10 # 取num除以10的余数,即num的个位数 total=total+f[x] # 所需火柴棒数累加 num=num//10 #num整除10,即去掉num的个位 print(total) 单个数字0~9需要的火柴棒根数可预先存储到列表f中。 根据以上分析,对每一个自然数进行火柴棒个数的统计需要重复使用,因此可以设计函数优化代码。 7 知识补充—函数 def 函数名(参数): #函数说明 语句或语句组 return 返回值 def factorial(n): #求n! s=1 for i in range(2,n+1): s=s*i return s #调用factorial函数 total=factorial(4) print(total) 函数分类:系统函数和用户自定义函数. 自定义函数:函数一般包括函数名、参数、返回值和函数体4部分。其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。 标准格式 系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。如print() ,input()都是系统函数。 参数是用来向函数传递值的,当有多个参数时各个参数由逗号分隔。函数执行完成后,由return语句将表达式值返回给调用者,结束函数。 8 火柴棒摆数字的算法 def match_num(num): f=[6,2,5,5,4,5,6,3,7,6] # 0~9的数字分别需要多少根小棒 if num==0: total=6 else: total=0 # 火柴棒总数变量赋初值 while (num>0): x=num % 10 # 取num除以10的余数,即num的个位数 total=total+f[x] # 所需火柴棒数累加 num=num//10 #num整除10,即去掉num的个位数 return total #返回需要多少根火柴棒数 9 火柴棒摆数字的算法 从0到111依次判断这些数是不是恰巧需要6根火柴棒 snum=6 #6根火柴棒 print("你可以拼出这些数字:") for i in range(112): if __________ ==snum: #如果i需要的火柴棒数等于现有火柴棒数 print(i) match_num(i) 10 发布及导入、使用模块 (一)发布代码 首先做好发布前的准备工作。在D:\创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件。文件内容如下: mymodule.py是一个模块文件,其内容就是match_num函数。 def ma

资源预览图

2.4 可以复用的代码
1
2.4 可以复用的代码
2
2.4 可以复用的代码
3
2.4 可以复用的代码
4
2.4 可以复用的代码
5
2.4 可以复用的代码
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。