内容正文:
2.4可以复用的代码
【学习目标】
1.了解函数的作用。
2.掌握函数的定义和调用方法。
3.了解发布共享代码的常见方法。
【教学重点】
1.函数的定义及调用。
2.模块的发布和导入使用。
【教学难点】
共享代码的发布。
【学习过程】
一、课前预习
有6根火柴棒,列出所有能摆出的自然数(要求火柴棒正好用完)。
图2.4.1 火柴数字
问题:
1. 列举3个可以用6根火柴棒摆放的数字_______、__________、__________。
2. 6根火柴棒能摆放的最大数是____________。
分析:(下面是对应的火柴数)
6 2 5 5 4 5 6 3 7 6
参考答案:1. 0、6、9、14、41、77、111
2. 111
二、算法实现
1. 算法分析:(请用自然语言描述一下该问题解决的算法)
将这个数的每个数位上的数字所需要的火柴棒数加起来。实现方法是将这个数除以10取余,求得个位数;然后将这个个位数需要的火柴棒数累加;接着将这个数除以10取整,去掉个位数;重复以上步骤直到这个数为0。
思考:如果一开始num就等于0,怎么办?
2.用流程图表示:如何用流程图实现,6根火柴根可以摆出的数字
参考答案:
三、函数的定义:(浏览课本42页)[来源:学*科*网Z*X*X*K]
1、函数分类:
2、函数的组成:
定义函数的基本格式是:
def 函数名(参数):
# 函数说明[来源:学|科|网]
语句或语句组
return 返回值
参数是用来向函数传递值的,当有多个参数时各个参数由逗号分隔。函数执行完成后,由return语句将表达式值返回给调用者,结束函数。[来源:Zxxk.Com]
3、6根火柴棒摆放的数字画程实现
将画程程序转换为Python程序
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]