4.1.4《Python的函数—自定义函数》导学案 姓名: 班级: 一、新知讲解。 自定义函数的格式 注意事项 def 函数名(参数1,参数2…): <函数体> [return 函数值] def的含义是: 函数名的命名要求: 调用函数的格式 无参数时 函数名() 有参数时 函数名(参数1,参数2…) 二、巩固练习 1. 1个篮球场的长为28m,宽为15m,请自定义函数,计算并输出篮球场的面积。 代码 运行结果 sq( ): #自定义函数 sq = 28 * 15 return lqc_sq= #调用函数 print(lqc_sq) 420 2.1个篮球场的长为28m,宽为15m;1个双人羽毛球场的长为13.4m,宽为6.1m;1个足球场的长为105m,宽为70m,请自定义函数,计算并输出篮球场、羽毛球场、足球场的面积。 代码 运行结果 def sq( , ): #自定义函数 sq = a*b return sq #返回结果 lqc_sq= #调用函数 ymqc_sq= zqc_sq= print('1个篮球场的面积是',lqc_sq) print('1个羽毛球场的面积是',ymqc_sq) print('1个足球场的面积是',zqc_sq) 1个篮球场的面积是 420 1个羽毛球场的面积是 81.74 1个足球场的面积是 7350 3.学校有8个羽毛球场,8个篮球场,一个足球场,请修改程序,计算并输出学校运动区域的总面积。 代码 运行示例 学校运动场的总面积是 11363.92 三、实践操作 1.下列代码的功能是找出两个小组的最高成绩在第1小组和第2小组。请分析代码,尝试自定义myMax( )函数,返回成绩列表的最大值,并调用myMax( )函数,比较输出最高成绩在哪个小组。 原始代码 自定义函数的代码 lst1=[91,95,90,88,93] max1=lst1[0] for i in lst1[1:]: if i>max1: max1=i lst2=[92,91,93,90,89] max2=lst2[0] for i in lst2[1:]: if i>max2: max2=i if max1>max2: print("最高分在第1小组") else: print("最高分在第2小组") 2.下列代码的功能是从键盘输入3个三位正整数,将其逆序输出并相加。请分析左侧代码,尝试自定义函数,并调用自定义函数,完成左侧代码的功能。 原始代码 自定义函数的代码 x=int(input()) y=int(input()) z=int(input()) xg=a%10 xs=a//10%10 xb=a//100 xb=str(xg)+str(xs)+str(xb) yg=b%10 ys=b//10%10 yy=b//100 yy=str(yg)+str(ys)+str(yb) zg=c%10 zs=c//10%10 zb=c//100 zz=str(zg)+str(zs)+str(zb) sum=int(xx)+int(yy)+int(zz) print(xx) print(yy) print(zz) print(sum) 3.下列代码的功能是能从键盘输出整数n,计算并输出1!+2!+…+n!的结果。请分析左侧代码,尝试自定义函数,并调用自定义函数,完成左侧代码的功能。 原始代码 自定义函数的代码 n=int(input('请输入整数n=')) s=0 for i in range(1,n+1,1): sj=1 for j in range(1,i+1,1): sj=sj*j s=s+sj print(s) 四、课堂练习。请分析下列程序的运行结果 代码 运行结果 def fun(x): x+=3 return x x=3 print(fun(x),x) def fun(): x=6 return x x=3 print(fun( ),x) import math def f(t): returnmath.ceil(t)+math.floor(t) m=f(-3.5) print(m) 五、课后思考 小智前四周的语文成绩是:91,95,90,88;小慧前4周的语文成绩是:92,91,93,90。有以下三种解题思路,请任选其一编写程序,计算并输出哪位同学的平均分最高? 1.自定义函数avg(),计算每位同学的平均分 2.使用内建函数sum()和len()计算计算每位同学的平均分 3.使用numpy的函数mean,计算计算每位同学的平均分 程序 测试效果 小慧的平均分最高 ... ...
~~ 您好,已阅读到文档的结尾了 ~~