(共13张PPT)
教科版高中信息技术
第2单元
编程计算
必修1
数据与计算
2.4
可以复用的代码
(第2课时)
函
数
函数可分为系统函数和用户自定义函数。
前面使用过的print(
)和input(
)函数都是系统函数
自定义函数:一般包括函数名、参数、返回值和函数体等四部分。
定义函数的基本格式是:
def
函数名(参数):
#函数说明
语句或语句组
return
返回值
参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分开。函数执行完后,由return语句将表达式值返回给调用者,结束函数。
下面来看一个简单的例子,这个函数用来求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、函数的定义和调用、共享代码的发布
巩固练习
1、
利用random模块可以生产随机数,程序如下:
import
random
num=random.randint(0,1)
#产生一个[0,1]之间的随机整数print(num)
def
shengxiao(year):
zodiac=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
index=(myyear-1972)%12
return
zodiac[index]
myyear=int(input("请输入出生年份,输入0结束:"))
while
myyear!=0:
print(shengxiao(myyear))
myyear=int(input("请输入出生年份,输入0结束:"))
2、生肖问题
THANKS