资源简介 (共17张PPT)3.2.8 函数与模块DATA ACQUISITION AND CODING《数据与计算》0. 情境导入现有两个小组的技术成绩如下,请用程序找出最高分在哪个小组?第一小组:91,93,88,89,92第二小组:92,91,92,90,88解题思路:lst1=[91,93,88,89,92]max1=lst1[0]for item in lst1[1:]:if item>max1:max1=item9392比较大小最高分在第一小组lst2=[92,91,92,90,88]max2=lst2[0]for item in lst2[1:]:if item>max2:max2=itemif max1>max2:print("最高分在第一小组")else:print("最高分在第二小组")0. 情境导入lst1=[91,93,88,89,92]max1=lst1[0]for item in lst1[1:]:if item>max1:max1=itemlst2=[92,91,92,90,88]max2=lst2[0]for item in lst2[1:]:if item>max2:max2=itemif max1>max2:print("最高分在第一小组")else:print("最高分在第二小组")函数max()lst1=[91,93,88,89,92]lst2=[92,91,92,90,88]if max(lst1)>max(lst2):print("最高分在第一小组")else:print("最高分在第二小组")1. 函数函数:把一段经常需要使用的代码片段封装起来,记为:y=f(x),f称为函数名,x称为参数,y称为返回值。在需要使用时可以直接调用,并且返回结果在Python语言中,函数分为两大类:Python语言本身提供的标准函数和程序员编写的自定义函数在编写Python程序时,可以使用函数来组织代码1. 函数def 函数名(参数集合):<函数体>[return 函数值]函数名就是标识符,命名要求与变量命名要求一样。语句块必须缩进,预定4个空格。定义中的参数列表称为形式参数,只是一种符号标识符函数定义,只是声明了一个函数,它不能被执行,需要调用执行。调用的方式,就是函数名后加上小括号。调用时写的参数是实际参数,是实实在在传入的值,简称实参。自定义函数例:def add(x,y):sum = x + yreturn sum1. 函数def 函数名(参数集合):<函数体>[return 函数值]自定义函数这两段代码,是否定义了函数呢?def hello():print("hello world")def sum(a,b):return a+b函数定义可以没有参数集合和返回值,也可以没有函数体直接返回函数值。1. 函数自定义函数尝试自定义myMax函数,可以返回列表中的最大值之前程序中的执行过程:lst1=[91,93,88,89,92]max1=lst1[0]for item in lst1[1:]:if item>max1:max1=itemlst2=[92,91,92,90,88]max2=lst2[0]for item in lst2[1:]:if item>max2:max2=itemif max1>max2:print("最高分在第一小组")else:print("最高分在第二小组")得出函数体:?max=lst[0]for item in lst[1:]:if item>max:max=item?def myMax(lst):return max#调用这个函数If :print("最高分在第一小组")else:print(“最高分在第e二小组")myMax(lst1)>myMax(lst2)为什么定义时参数是lst,调用时却可以是lst1,lst2?1. 函数自定义函数形式参数:形参是在定义函数的时候给出,是形式上的参数,可以理解为数学的X,没有实际的值,通过别人赋值后才有意义。这里的lst是形参,用来描述函数执行的步骤。实际参数:是在调用函数的时候给出的,真实的数据信息,是实际意义上的参数。调用函数时,Lst1,Lst2这些实参传递给lst,从而执行对应的函数体操作。def myMax(lst):max=lst[1]for item in lst[1:]:if item>max:max=itemreturn maxif myMax(lst1)>myMax(lst2):print("最高分在第一小组")else:print(“最高分在第e二小组")形式参数实际参数实际参数1. 函数练一练输入3个三位正整数,将其逆序输出并相加。思考程序应如何实现?#请将下列代码修改a=int(input())b=int(input())c=int(input())ag=a%10ass=a//10%10ab=a//100aa=str(ag)+str(ass)+str(ab)bg=b%10bs=b//10%10bb=b//100bb=str(bg)+str(bs)+str(bb)cg=c%10cs=c//10%10cb=c//100cc=str(cg)+str(cs)+str(cb)sum=int(aa)+int(bb)+int(cc)print(aa)print(bb)print(cc)print(sum)a=int(input())b=int(input())c=int(input())def nixu(a):g=a%10s=a//10%10b=a//100aa=str(g)+str(s)+str(b)return int(aa)sum=nixu(a)+nixu(b)+nixu(c)print(nixu(a))print(nixu(b))print(nixu(c))print(sum)2. 模块一个函数仅相当于一块功能积木,模块好比一盒积木,通过不同的积木组合可以拼出多种主题的玩具。一个模块可以包含若干个函数。模块和函数的关系如下图 所示:2. 模块方法1:使用import 关键字,可以将模块中的所有函数和常量都引入到另一个python代码中,从而实现代码的复用。语法如下:import 模块名方法2:一个模块可能包含大量函数,但是一个程序可能不会使用它的全部函数,Python 的 from 语句是从模块中导入一个指定的函数到当前空间中。语法如下:from 模块名 import 函数名模块导入2. 模块请尝试应用math模块计算球的体积。import mathr=int(input())pi=math.pis=pi*pow(r,2)print(s)2. 模块请尝试应用random模块产生一个[5,10]范围的实数。import randoma=random.uniform(5,10)print(a)2. 模块在一次考试后,班里的同学都进步很大,老师决定给大家发些奖品。奖品有书book,笔pen,零食food,作业homework。每个同学只能获得一样奖品,并且要通过python程序来抽奖。首先请大家补全这个自定义函数,能从已经给出的这四样奖品中随机抽出一个奖品,并能提示抽奖结果。?gifts=[‘book’,‘pen’,‘food’,‘homework’] #设置四种奖品def choice_gifts(): #定义抽奖函数gift= ? #从gifts中随机选一print('你得到了%s'%gift)choice_gifts() #调用抽奖函数import randomgifts=[‘book’,‘pen’,‘food’,‘homework’] #设置四种奖品def choice_gifts(): #定义抽奖函数gift= random.choice(gifts) #从gifts中随机选一print(“你得到了”,gift)choice_gifts() #调用抽奖函数2. 模块2. 模块书本p67页,导入的turtle模块内建函数课堂小结Python常见内建函数的使用自定义函数自定义函数的基本格式和使用常见模块模块的导入和使用3. 课堂小结 展开更多...... 收起↑ 资源预览