2.4 可以复用的代 课件(共14张PPT) 2023—2024学年教科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.4 可以复用的代 课件(共14张PPT) 2023—2024学年教科版(2019)高中信息技术必修1

资源简介

(共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根火柴棒摆放的数字,分别是:
0
6
9
14
41
77
111
任务一: 用自定义函数实现火柴棒摆数字问题
分析问题: 分解这个数字中的每个位数上的数字
设计算法:
实现方法:
1、将这个数除以10求余(取模),求得个位数
2、将这个数除以10取整数
3、重复第1和第2步骤,直到这个数为0
如:123分解成1、2、3
运算 商 余数
123%10 3
123//10 12
12%10 2
12//10 1
1%10 1
1//10 0
开 始
结 束
i = 0
i < = 111
i 需要6根火柴棒
输出 i
i = i + 1
Y
N
Y
N
任务一: 用自定义函数实现火柴棒摆数字问题
数字 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=num
s=0
while num1>0:
i=num1%10
s=s+list[i]
num1=num1//10
if s==6:
print(num,end=' ')
print()
开 始
结 束
i = 0
i < = 111
i 需要6根火柴棒
输出 i
i = i + 1
Y
N
Y
N
任务一: 用自定义函数实现火柴棒摆数字问题
函数:将一组语句用一个名字封装起来。
系统函数
函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编好的程序。
print() input()
int() float()
自定义函数
用户自己编写的一段程序。
基本格式 :
def 函数名(参数):
语句或语句组
return 返回值
向函数传递值,多个参数之间用逗号隔开
将表达式的值返回给调用者
重复使用的代码
同变量命名规则
任务一: 用自定义函数实现火柴棒摆数字问题
函数调用:
函数名(参数)
#调用factorial函数
total=factorial(4)
print(total)
因此,这一行才是主程序的第一行,从这里开始执行。
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
因为出现def,所以跳过
任务一: 用自定义函数实现火柴棒摆数字问题
自定义函数:
编码实现:计算6根火柴棒能摆出的数字
snum=6
i=1
while i<=111:
if macth_num(i)==snum:
print(i)
i=i+1
else:
i=i+1
snum=6
for 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=0
if num==0:
total=f[0]
else:
while num>0:
x=num%10
total=total+f [x]
num=num//10
return total
计算摆出一个数字需要的火柴棒数
while循环
for循环
课 堂 练 习
1.在 Python 语言中,创建自定义函数的语法规范是( )。
A.del 函数名(参数): B.def 函数名(参数):
C.define 函数名(参数): D.sub 函数名(参数):
2.以下程序的输出正确的是( )
A.81 7 B. 4 4 C.12 7 D.hello
def mypow(x,y=2):
return x**y,x+y
print(“hello”)
a,b=mypow(3,4)
print(a,b)
B
A
3.下列代码的输出结果是什么?( )
def sum(a,b):
c=a+b
return c
print(sum(4,5))
A.4 B.5 C.9 D.1
C
课 堂 练 习
def factorial(n):
#求n!
s=1
for i in range(2,n+1):
s=s*i
return s
#调用factorial函数
total=factorial(4)
print(“4的阶乘:”total)
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
x=int(______________________)
total=0
for 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+1
total+factorial(j)
计算4!
1
课 堂 练 习
请编写程序,实现输入一个农历年份(>=1900),输出该年对应的生肖,直到输入0结束,运行结果如图2.4.5所示。
def shengxiao(year):
#求生肖
zodiac=[“鼠”,“牛”,“虎”,“兔”,“龙”,“蛇”,“马”,“羊”,“猴”,“鸡”,“狗”,“猪”]
index=(year-1972)%12
return zodiac[ index]
#以下为主程序
myyear=int(input(“请输入农历年份,输出0结束:”))
while myyear!=0
print(“生肖是:”,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 返回值

展开更多......

收起↑

资源预览