项目3 处理工业温度数据_第1页
项目3 处理工业温度数据_第2页
项目3 处理工业温度数据_第3页
项目3 处理工业温度数据_第4页
项目3 处理工业温度数据_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

主讲:吴雪飞项目3处理工业温度数据知识回顾在工业视觉缺陷检测的实际场景中,除了基本数据类型的显示需求外,还需对各类环境参数(如厂房温度、湿度、亮度、噪声等)进行动态监测与统计,以确保生产流程的稳定性。基于此需求,如何通过编程技术实现数据的自动化处理与分析,成为工业软件开发中的典型任务。项目引入项目3将开发一个“工业温度数据处理器”数据输入支持从网页界面输入温度数据列表;异常判断根据正常值范围判断输入数据中的异常值(包括温度过高或过低的情况);统计分析对正常温度数据进行计算,得出总和与平均值,并统计异常数据在整体数据中的占比;实时展示将上述分析结果以直观的方式在网页上实时呈现项目描述项目效果代码按照书写顺序自上而下逐行执行,且无任何跳转或分支。例如,当程序读取用户输入、进行计算并输出结果时,每一步操作都严格遵循代码的物理排列顺序执行。在Python中,未使用条件判断或循环语句的代码均属于顺序结构如变量赋值(a=5)、数学运算(b=a+3)和函数调用(print(b))等操作均依序进行。这种结构体现了计算机“逐条解析”的底层逻辑,是理解复杂控制流程(如分支、循环)的基础。需要注意的是,即便后续学习其他结构,其内部的代码块(如if语句下的操作)仍遵循顺序执行规则。相关知识:顺序结构单分支结构if判断条件:

语句块相关知识:分支结构双分支结构if判断条件:

语句块1else:

语句块2相关知识:分支结构多分支结构if判断条件1:

语句块1elif判断条件2:

语句块2...elif判断条件n:

语句块nelse:

语句块n+1相关知识:分支结构任务描述定义整型变量ticket,接收输入是否购买高铁票(0表示未购买;1表示购买)。定义整型变量safe,接收输入是否通过安检(0表示未通过;1表示通过)。按照以下步骤进行判断,并输出相应的结果。购买了高铁票并且通过了安检,输出“请上车”。购买高铁票但没通过安检,输出“您不符合乘车安全标准”。未购买高铁票,输出“您未购票”示例3.1坐高铁(3-ex-1.py)示例3.1坐高铁(3-ex-1.py)嵌套分支结构if判断条件1:if判断条件2:

语句块1else:

语句块2else:if判断条件3:

语句块3else:

语句块4相关知识:分支结构示例3.2游戏角色技能伤害计算(3-ex-2.py)任务描述设计一个程序,根据角色的攻击力(attack)、技能类型(skill_type)和目标距离(distance)计算最终伤害值(damage),规则如下:近战技能(skill_type=1):如果距离<=2米:如果攻击力≥50,伤害=攻击力

×1.5(暴击);否则,伤害=攻击力

×1.2;否则,伤害=0(超出攻击范围)。远程技能(skill_type=2):如果距离<=10米:如果攻击力≥80,伤害=攻击力

×1.3(远程暴击);否则,伤害=攻击力

×0.9(距离衰减);否则,伤害=0(超出攻击范围)。输入3个角色属性值。输出最终伤害值(保留1位小数),格式如:“最终伤害:90.0”。示例3.2游戏角色技能伤害计算(3-ex-2.py)试一试3.1成绩等级评定(3-try-1.py)任务描述输入期末成绩(final_score)。输入平时成绩(regular_score)。根据期末成绩和平时成绩进行评级并输出。期末成绩大于90的情况下,平时成绩大于90,等级为A+,否则等级为A。期末成绩在80~90之间的情况下,平时成绩大于85,等级为B+,否则等级为B。期末成绩在70~80之间的情况下,平时成绩大于80,等级为C+,否则等级为C。其它情况为D。试一试3.1成绩等级评定(3-try-1.py)相关知识:循环结构while循环while条件表达式:

循环体示例3.3猜数字(3-ex-3.py)任务描述设定猜测的数字:target_number。定义猜测次数:attempts。定义循环退出条件。最多猜5次。game_over=False。使用while语句进行猜测数字大小。若输入quit则退出循环。若输入不在1~100之间的数,输出提示词“请输入一个1到100之间的整数。”若数字太小,输出提示词“太低了!”。若数字太大,输出提示词“太高了!”。猜对,输出提示词“恭喜你,猜对了!你总共猜了X次。”猜测次数用完,循环结束,输出提示词"很遗憾,你已经用完了X次机会。正确答案是X。"。示例3.3猜数字(3-ex-3.py)思路分析循环条件需同时满足两个条件游戏未结束游戏结束与否可通过设置布尔变量来控制(game_over=False)猜数次数未超过5次(attempts<5)循环体内重点考虑game_over何时更新为True?attempts何时加1?情况多样,适合用多分支?嵌套分支?未在规定次数内猜出数字而退出循环时,需要给出信息提示条件如何写?示例3.3猜数字(3-ex-3.py)相关知识:循环结构for循环for变量in可迭代对象:

循环体可迭代对象任何支持迭代的对象(如列表、字符串、字典、范围range()等)。每次迭代从中取出一个元素,直到元素耗尽。range函数range([start],end,[step])start为初始值,默认值为0end为终值step为步长,默认值为1start和step均可省略生成从start到end,以step为步长的整数序列range(5)——>0,1,2,3,4range(0,10,2)——>0,2,4,6,8range(10,0,-1)——>10,9,8,7,6,5,4,3,2,1相关知识:循环结构for循环举例:打印输出1到10之间所有偶数的和相关知识:循环结构嵌套循环结构循环里面再放一个循环,就像时钟的时针和分针外循环走1步,内循环走完整1圈就像时针走1小时,分针要走60分钟相关知识:循环结构嵌套循环结构举例:九九乘法表外层循环控制行(i)内层循环控制列(j)相关知识:跳转结构break语句用于立即终止循环,跳出循环体,并继续执行循环后面的代码无论循环条件是否为真,break语句后的代码都不会再执行若循环为嵌套循环,则break语句只跳出当前循环相关知识:跳转结构continue语句用于跳过当前循环的剩余部分,并立即开始下一次循环迭代若为while循环,则重新检查循环条件若为for循环,则取下一个迭代变量示例3.4打印2~50之间的所有素数(3-ex-4.py)任务描述循环遍历2~50的范围。定义一个变量用于标记是否为素数。循环判断是否为素数,如果是,则打印输出。思路分析外层循环用于确定素数范围。内层循环用于确定素数。从2遍历到x-1(更优化的范围是2到sqrt(x))判断每个数是否能被x整除若有一个数能被x整除,则该数x就不是素数利用break语句跳出当前循环,进入外层循环的下一次迭代若内层循环结束都没有能被整除的数,则该数即为素数。示例3.4打印2~50之间的所有素数(3-ex-4.py)importmath......forninrange(2,int(math.sqrt(x))+1)或forninrange(2,int(x**0.5)+1)相关知识:异常处理概念异常是指程序运行时发生的错误或意外情况(如除零、文件不存在等),它会中断正常流程。Python通过异常对象传递错误信息,开发者可以捕获并处理这些异常,使程序继续运行或优雅退出。区分语法错误和运行时异常语法错误(编译时)print("Hello"#缺少右括号运行时异常num=int("abc")#ValueError相关知识:异常处理基本语法(try/except)try:#可能出错的代码[代码逻辑]exceptErrorType:#出错时的处理[异常处理代码]为前面多分支结构中的示例代码添加异常处理结构相关知识:异常处理异常类型触发场景典型错误信息示例代码NameError访问未定义的变量或函数name'x'isnotdefinedprint(undefined_var)TypeError操作或函数应用于不兼容类型的对象unsupportedoperandtype(s)for+:'int'and'str'10+"20"ValueError函数接收到类型正确但值不合法的参数invalidliteralforint()withbase10:'abc'int("abc")IndexError访问序列(列表、元组等)中不存在的索引listindexoutofrangelst=[1,2];print(lst[3])KeyError访问字典中不存在的键'key_name'd={'a':1};print(d['b'])ZeroDivisionError数学运算中除数为零divisionbyzeroprint(10/0)ImportError导入模块失败(模块不存在或路径错误)Nomodulenamed'module_name'importnon_existent_moduleAttributeError访问对象不存在的属性或方法'str'objecthasnoattribute'append's="hello";s.append("!")FileNotFoundError尝试打开不存在的文件Nosuchfileordirectory:'file.txt'open("nonexistent.txt")PermissionError无权限访问文件或目录Permissiondenied:'file.txt'open("/root/.bashrc")(Linux下无权限)SyntaxError代码语法错误invalidsyntaxprint("Hello"(缺少闭合括号)IndentationError缩进错误(属于SyntaxError的子类)expectedanindentedblockdeffunc():

print("Noindent")相关知识:异常处理高级异常处理try:#可能引发异常的代码块[代码逻辑]exceptSpecificError1:#处理特定异常类型1[异常处理代码]exceptSpecificError2:#处理特定异常类型2[异常处理代码]except(ErrorType3,ErrorType4)ase:#同时处理多种异常类型[异常处理代码]exceptExceptionase:#处理其他所有异常[异常处理代码]else:#当try块没有引发异常时执行[代码逻辑]finally:#无论是否发生异常都会执行#常用于资源清理[代码逻辑]相关知识:异常处理高级异常处理为前面循环结构示例代码添加完整异常处理结构项目拆解任务1:效果展示任务1:实现要求在“Python-code”文件夹中为“项目3_原始素材”文件夹建立一个副本,命名为“项目3”打开“项目3”文件夹,在unit3.py文件的main函数中,实现以下要求使用for循环,遍历数组nums。使用if判断异常值。使用result记录异常值的数量运行main.py文件任务2:效果展示任务2:实现要求打开“项目3”文件夹——templates文件夹——index.html文件,在“el-radio-group”标签下方,

温馨提示

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

评论

0/150

提交评论