版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云南省瑞丽市高三生物上册期末考试模拟测试卷及参考答案
- 2026年河南省偃师市高三物理下册期末考试模拟考试卷及参考答案
- 2026年浙江省诸暨市高三生物下册期末考试模拟卷(含答案)
- 2026年江西省瑞昌市高三生物下册期末考试模拟测试卷及答案
- 2026年河南省舞钢市高三生物下册期末考试模拟检测卷及答案
- 2026年辽宁省大石桥市高一化学上册期末考试模拟考试卷【必考】附答案
- 四年级数学下册 第5课时 数的改写及比较大小
- 长期模具加工合作协议
- 基于查询扩展的主题爬虫:技术融合与性能优化研究
- 基于机载LiDAR数据的地物分类与建筑建模技术探索与实践
- 2025全国中小学生天文知识竞赛题库(附答案)
- 2025深圳市茅洲河流域洪涝风险图集
- 2024年青岛崂山旅游集团招聘考试真题
- 工行柜员管理办法
- 浙江党费管理办法
- 中医老年人体质辨识课件
- 《中医药文化传承》课件
- 水利工程施工监理规范(SL288-2014)用表填表说明及示例
- 专题07 相似三角形中的重要模型-手拉手模型(解析版)
- 大学生科研训练与论文写作全套教学课件
- (高清版)JTGT 4320-2022 公路车辆动态称重检测系统技术规范
评论
0/150
提交评论