课件编号19530421

2.4 可以复用的代码 第一课时 课件(共18张PPT)教科版(2019)必修1

日期:2024-05-07 科目:信息技术 类型:高中课件 查看:16次 大小:614540Byte 来源:二一课件通
预览图 1/7
18张,必修,2019,教科,PPT,可以
  • cover
(课件网) ———可 以 复 用 的 代 码 火 柴 棒 摆 数 字 课前预习 3分钟时间预习课本P40-P43,完成以下题目 知识点检测 1.用火柴棒,摆出下面的自然数。 下列说法正确的是( ) A、可以用6根火柴棒摆放出0、9、13 B、可以用6根火柴棒摆放出0、8C、6根火柴棒能摆放的最大数是111 D、可以用6根火柴棒摆放出0、6、5 C 课前预习 3分钟时间预习课本P40-P43,完成以下题目 知识点检测 2. Python中创建自定义函数的语法规范是(   )。 A.def 函数名([参数列表]): B.sub 函数名([参数列表]): C.del 函数名([参数列表]): D.define 函数名([参数列表]): A 教 学 目 标 了解函数的作用。 通过摆放火柴棒问题,掌握函数的定义和调用方法。 火柴棒摆数字 一 有6根火柴棒,列出所有能摆出的自然数,要求火柴棒正好用完。 问 题 6根火柴棒能摆出的一位数: 6 2 5 5 4 5 6 3 7 6 6根火柴棒能摆出的二位数: 6根火柴棒能摆出的三位数: 0,6,9 14,41,77 111 火柴棒摆数字 一 1.算法分析 计算自然数num需要多少根火柴棒,可以分别计算num中各个数位需要多少根火柴,然后将各数位对应的火柴棒根数进行累加。 1 0 3 如何计算自然数num需要多少根火柴棒? 103 → 2 6 5 13 火柴棒摆数字 一 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 火柴棒摆数字 一 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.编程实现 火柴棒摆数字 一 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 根据以上分析,对每一个自然数进行火柴棒个数的统计需要重复使用,因此可以设计函数优化代码。 函数 二 def 函数名(形式参数) 语句或语句组 return 返回值 函数分类:系统函数和用户自定义函数. 自定义函数:函数一般包括函数名、参数、返回值和函数体4部分。其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。 标准格式 变量=函数名(实际参数) 调 用 函数体 函数调用 返 回 值 函数 二 1.以下程序的执行结果为: 知识点检测 函 数 主程序 先执行主程序 只有调用函数的时候才能执行函数部分 用函数编程实现火柴棒摆数字 三 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 #返回需要多少根火柴棒数 三 从0到111依次判断这些数是不是恰巧需要6根火柴棒 snum=6 #6根火柴棒 ... ...

~~ 您好,已阅读到文档的结尾了 ~~