《模块与函数》课件-浙教版(2019)高中信息技术必修1_第1页
《模块与函数》课件-浙教版(2019)高中信息技术必修1_第2页
《模块与函数》课件-浙教版(2019)高中信息技术必修1_第3页
《模块与函数》课件-浙教版(2019)高中信息技术必修1_第4页
《模块与函数》课件-浙教版(2019)高中信息技术必修1_第5页
已阅读5页,还剩19页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.2.8函数与模块DATA

ACQUISITIONANDCODING必修一

数据与计算《数据与计算》情境导入现有两个小组的技术成绩如下,请用程序找出最高分在哪个小组?第一小组:91,93,88,89,92第二小组:92,91,92,90,88解题思路:lst1=[91,93,88,89,92]max1=lst1[0]foriteminlst1[1:]:ifitem>max1:max1=item9392比较大小最高分在第一小组lst2=[92,91,92,90,88]max2=lst2[0]foriteminlst2[1:]:ifitem>max2:

max2=itemifmax1>max2:print("最高分在第一小组")else:print("最高分在第二小组")情景导入lst1=[91,93,88,89,92]max1=lst1[0]foriteminlst1[1:]:ifitem>max1:max1=itemlst2=[92,91,92,90,88]max2=lst2[0]foriteminlst2[1:]:ifitem>max2:

max2=itemifmax1>max2:print("最高分在第一小组")else:print("最高分在第二小组")函数max()lst1=[91,93,88,89,92]lst2=[92,91,92,90,88]ifmax(lst1)>max(lst2):print("最高分在第一小组")else:print("最高分在第二小组")函数概念:是组织好的,可重复使用的,用来实现单一功能的代码片段。优点:能提高应用的模块性,和代码的重复利用率。类型:①内建函数:Python提供的函数,比如print()、input()…②自定义函数:用户自己创建函数1.函数函数描述print(x)输出x的值input([prompt])获取用户输入int(object)将字符串和数字转换成整型float(object)将字符串和数字转换成实型abs(x)返回x的绝对值len(seq)返回序列的长度max(s,_arg...])返回序列的最大值(如果给定多个参数,则返回给定参数中的最大值)min(,[args...])返回序列的最小值(如果给定多个参数,则返回给定参数中的最小值)自定义函数def

函数名(参数集合):

<函数体>

[return函数值]自定义函数函数名(参数1,参数2)函数调用defadd(x,y):sum=x+yreturnsumadd(a,b)例子1.函数关键字def:定义、说明函数名:命名要求与变量的标识符命名要求一样参数:可有可无语句块:必须缩进应用特点:先定义函数,再调用函数,最后执行函数调用函数:无参数时,函数名()有参数时,函数名(参数1,参数2...)自定义函数函数调用defadd(x,y):sum=x+yreturnsumadd(a,b)例子def

函数名(参数集合):<函数体>[return函数值]函数名(参数1,参数2)1.函数这两段代码,是否定义了函数呢?函数定义可以没有参数集合和返回值,也可以没有函数体直接返回函数值。但函数体和返回值至少有一种。defhello():print("helloworld")defsum(a,b):returna+blst1=[91,95,90,88,93]max1=lst1[0]foriinlst1[1:]:ifi>max1:max1=ilst2=[92,91,93,90,89]max2=lst2[0]foriinlst2[1:]:ifi>max2:max2=iifmax1>max2:print("最高分在第1小组")else:print("最高分在第2小组")#自定义函数myMax()

#函数名,参数

max=lst[0]

foriinlst[1:]:

ifi>max:

max=i

#返回成绩列表的最高值lst1=[91,95,90,88,93]lst2=[92,91,93,90,89]#调用myMax()函数if

:print("最高分在第1小组")else:print("最高分在第2小组")myMax(lst1)>myMax(lst2)defmyMax(lst):returnmax为什么定义函数时参数是lst,调用函数时,参数是lst1,lst2?自定义函数形式参数:在定义函数的时候给出,形式上的参数,可以理解为数学的X,没有实际的值,赋值后才有意义。实际参数:在调用函数的时候给出的真实的数据信息,是实际意义上的参数。调用函数时,Lst1,Lst2这些实参传递给lst,从而执行对应的函数体操作。defmyMax(lst):max=lst[1]foriteminlst[1:]:ifitem>max:max=itemreturnmaxifmyMax(lst1)>myMax(lst2):

print("最高分在第一小组")else:print(“最高分在第e二小组")形式参数实际参数输入3个三位正整数,将其逆序输出并相加。使用自定义函数优化程序。#请将下列代码修改a=int(input())b=int(input())c=int(input())ag=a%10ass=a//10%10ab=a//100aa=str(ag)+str(ass)+str(ab)#bc逆序过程与a相同,代码省略sum=int(aa)+int(bb)+int(cc)print(aa)print(bb)print(cc)print(sum)a=int(input())b=int(input())c=int(input())defnixu(a):g=a%10s=a//10%10b=a//100aa=str(g)+str(s)+str(b)returnint(aa)sum=nixu(a)+nixu(b)+nixu(c)print(nixu(a))print(nixu(b))print(nixu(c))print(sum)函数与模块一个函数仅相当于一块功能积木,模块好比一盒积木,通过不同的积木组合可以拼出多种主题的玩具。一个模块可以包含若干个函数。函数函数函数模块导入模块方法1:使用import关键字,可以将模块中的所有函数和常量都引入到另一个python代码中:import模块名方法2:不需要使用模块中的全部函数时,用from语句从模块中导入一个指定的函数到当前代码中:from模块名import函数名2.模块请尝试应用math模块计算球的体积。importmathr=int(input())pi=math.pis=pi*pow(r,2)print(s)名称含义math.e自然常数emath.pi圆周率πmath.ceil(x)对x向上取整,比如x=1.2,返回2math.floor(x)对x向下取整,比如x=1.2,返回1math.pow(x,y)指数运算,得到x的y次方math.log(x)对数运算,默认基底为emath.sin(x)正弦函数math.cos(x)余弦函数math.tan(x)正切函数math.degrees(x)弧度转换成角度math.radians(x)角度转换成弧度2.模块请尝试应用random模块产生一个[5,10]范围的实数。importrandoma=random.uniform(5,10)print(a)名称含义random.random()随机生成一个[0,1)范围内的实数random.uniform(a,b)随机生成一个[a,b]范围内的实数random.randint(a,b)随机生成一个[a,b]范围内的整数random.choice(seq)从序列的元素中随机挑选一个元素比如random.choice(range(10),从0到9中随机挑选一个整数random.sample(seq,k)从序列中随机挑选k个元素random.shuffle(seq)将序列的所有元素随机排序某次考试后,班里的同学都进步很大,老师决定给大家发些奖品。奖品有书book,笔pen,零食food,作业homework。每个同学只能随机获得一种奖品,编写程序实现抽奖功能。—————————gifts=[‘book’,‘pen’,‘food’,‘homework’]defchoice_gifts():

#定义抽奖函数gift=

__________________________#从gifts中随机选一个print(“你得到了”,gift)choice_gifts()

#调用抽奖函数importrandomrandom.choice(gifts)随机礼物5猜数游戏由计算机随机生成一个0到100间的整数让用户猜,用户输入猜测的数字,计算机给出相应提示:“偏大”、“偏小”或“正确”,若所猜数字正确,则游戏结束,否则继续猜数。importrandomasrd

number=rd.randint(0,100)

running=False

whilenotrunning:

guess=int(input("输入猜测的数:"))

ifguess==number:

print("正确")

running=True

elifguess<number:

print("偏小")

else:

print("偏大")5Image模块fromPILimportImageim=Image.open(“school.jpg”) #打开图像文件print(im.format) #获取图像格式print(im.size) #获取图像尺寸print(im.mode) #获取图像颜色模式im.rotate(45).show #将图像旋转45°后显示turtle库(模块)

turtle库是Python语言中一个很流行的绘制图像的函数库,想象一只小乌龟,在一个横轴为x、纵轴为y的坐标系原点(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。3turtle模块turtle库常用函数或命令函数或命令说明forward(distance)向当前画笔方向移动distance像素长度backward(distance)向当前画笔相反方向移动distance像素长度right(degree)顺时针移动degree°left(degree)逆时针移动degree°goto(x,y)将画笔移动到坐标为x,y的位置circle(r)画半径为r的圆,半径为正(负),表示圆心在画笔的左边(右边)画圆fillcolor(colorstring)绘制图形的填充颜色color(color1,color2)同时设置pencolor=color1,fillcolor=color2done()暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭PythonTurtle图形化窗口为止;它的目的是给用户时间来查看图形,没有它,图形窗口会在程序完成时立即关闭。3turtle库模块编程1:逆时针方向画一个边长为100的正方形。importturtleast

t.forward(100)

t.left(90)

t.forward(100)

t.left(90)

t.forward(100)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论