中小学教育资源及组卷应用平台
2.4 可以复用的代码(第2课时)
课题 2.4 可以复用的代码(第2课时) 单元 2 学科 信息技术 年级 高一
学习 目标 通过火柴棒摆数字问题,了解函数的作用;掌握函数的定义和调用方法;掌握发布共享代码、导入和使用模块的方法。
通过解决复杂问题,形成“自顶向下、逐步细化”的思想,提高数字化分享的意识,能在虚拟社会中与其他成员安全、负责任的交流。
重难点 函数的定义
发布共享代码
导入模块并使用
教学过程
教学环节 教师活动 学生活动 设计意图
导入新课 函数可分为系统函数和用户自定义函数。
前面使用过的print( )和input( )函数都是系统函数
讲授新课 自定义函数:一般包括函数名、参数、返回值和函数体等四部分。
定义函数的基本格式是:
def 函数名(参数):
#函数说明
语句或语句组
return 返回值
参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号开。函数执行完后,由return语句将表达式值返回给调用者,结束函数。
【活动1】
下面来看一个简单的例子,这个函数用来求n!
def factorial(n):
#求n!
s=1
for i in range(2,n+1):
s=s*i
return s
# 调用factorial 函数
total=factorial(4)
print(total)
【发布共享代码】
请将“计算一个数字需要多少根火柴棒”的函数match-num转换为模块,然后发布。
首先做好发布前的准备工作。在D:\创建一个文件夹mymodule,
其中包含mymodule.py和setup.py两个文件。
mymodule.py是一个模块文件,其内容就是match-num函数。
def match_num(num)
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的个位数
return total #返回需要多少根火柴棒
from distutils.core import setup
setup(
name='mymodule',
version='1.0.0',
py_modules=['mymodule'],
author='yd',
author_email='yd@mail.com',
description='计算一个数字需要多少根火柴棒',
【导入模块并使用】
已经构建发布的模块必须先导入程序,然后才能使用。
可使用语句“import mymodule”导入。
import mymodule #导入模块
snum=6
print(‘你可以拼出这些数字:’)
for i in range(112):
if mymodule.match_num()==sum:
print(i)
学习自定义函数
课堂小结 1、函数的作用
2、函数的定义和调用、共享代码的发布
巩固练习 利用random模块可以生产随机数,程序如下
import random
num=random.randint(0,1) #产生一个[0,1]之间的随机整数
print(num)
_21?????????è?????(www.21cnjy.com)_