内容正文:
——可 以 复 用 的 代 码
火 柴 棒 摆 数 字
课前预习
3分钟时间预习课本P40-P43,完成以下题目
知识点检测
1.用火柴棒,摆出下面的自然数。 下列说法正确的是( )
A、可以用6根火柴棒摆放出0、9、13 B、可以用6根火柴棒摆放出0、8C、6根火柴棒能摆放的最大数是111 D、可以用6根火柴棒摆放出0、6、5
C
2
课前预习
3分钟时间预习课本P40-P43,完成以下题目
知识点检测
2. Python中创建自定义函数的语法规范是( )。
A.def 函数名([参数列表]): B.sub 函数名([参数列表]):
C.del 函数名([参数列表]): D.define 函数名([参数列表]):
A
3
教 学
目 标
了解函数的作用。
通过摆放火柴棒问题,掌握函数的定义和调用方法。
4
火柴棒摆数字
一
有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。
问 题
6根火柴棒能摆出的一位数:
6 2 5 5 4 5 6 3 7 6
6根火柴棒能摆出的二位数:
6根火柴棒能摆出的三位数:
0,6,9
14,41,77
111
5
火柴棒摆数字
一
1.算法分析
计算自然数num需要多少根火柴棒,可以分别计算num中各个数位需要多少根火柴,然后将各数位对应的火柴棒根数进行累加。
1
0
3
如何计算自然数num需要多少根火柴棒?
103
→
2 6 5
13
6
火柴棒摆数字
一
2.用流程图表示
将num除以10取余,求得个位数;然后将num除以10取整,去掉个位数。重复步骤直到num为0。显然可用while循环。
如何获得num各数位的值?
①num=103
→
num%10= 3
→
num=num//10
②num=10
→
num%10= 0
→
num=num//10
③num=1
→
num%10= 1
→
num=num//10
7
火柴棒摆数字
一
num = int(input("请输入一个数"))
f = [6, 2, 5, 5, 4, 5, 6, 3, 7, 6] # 0-9的数字分别需要多少根小棒
if num == 0: # 火柴棒总数变量赋初值
total = ①
else:
total=0 # 火柴棒总数变量赋初值
while (num>0):
x=② # 取num除以10的余数,即num的个位数
total = total+f[x] # 所需火柴棒数累加
num=③ # num整除10,即去掉num的个位
print(total)
单个数字0~9需要的火柴棒根数可预先存储到列表f中。
3.编程实现
8
火柴棒摆数字
一
num = int(input("请输入一个数"))
f = [6, 2, 5, 5, 4, 5, 6, 3, 7, 6]
if num == 0:
total = 6
else:
total=0
while (num>0):
x=num%10
total = total+f[x]
num=num//10
print(total)
①num==103 >0
x=103%10 ==>3 total=0+5 ==>5 num=103//10 ==》10
②num==10 >0
x=10%10 ==>0 total=5+6 ==>11 num=10//10 ==》1
③num==1 >0
x=1%10 ==>1 total=11+2 ==>13 num=1//10 ==》0
④num==0 ==》不执行循环
过程解析:
num==103
根据以上分析,对每一个自然数进行火柴棒个数的统计需要重复使用,因此可以设计函数优化代码。
9
函数
二
def 函数名(形式参数)
语句或语句组
return 返回值
函数分类:系统函数和用户自定义函数.
自定义函数:函数一般包括函数名、参数、返回值和函数体4部分。其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。
标准格式
变量=函数名(实际参数)
调 用
函数体
函数调用
返 回 值
系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。如print() ,input()都是系统函数。
参数是用来向函数传递值的,当有多个参数时各个参数由逗号分隔。函数执行完成后,由ret