版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲:吴雪飞项目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”标签下方,新增“sum”和“average”的“el-radio”部分代码,并修改“error”的“el-radio”代码,并保存文件。任务2:实现要求在unit3.py文件的main函数中,增加代码实现以下要求定义三个变量分别记录:正常值数量。异常值数量。正常值总和。使用for和if统计三个值。使用if判断type类型并计算:type为sum时,结果为正常值总和。type为error时,结果为异常值的占比。type为average,结果为正常值的均值保存文件并刷新网页。THANKYOU主讲:吴雪飞项目4-监控实验室场地数据主讲:吴雪飞知识回顾项目3设计了网页版的工业温度数据处理器,但在工业实验室的实际场景中,环境参数的监测需求不仅限于单一数据类型。例如,不同实验场地的温度、湿度等数据需长期记录并统计分析,以确保实验条件的稳定性与可靠性。如何高效存储多维度数据,并通过编程实现自动化统计与可视化反馈,是工业软件开发中的关键问题。项目引入项目4将开发一个“实验室场地数据监控器”数据筛选支持“场地”筛选(深圳实验区、广州实验区)支持“监控类型”筛选(温度、湿度)统计分析点击“近五天情况测算”按钮后,系统自动统计工作日中各场地数据的正常次数与异常次数实时展示将上述分析结果以直观的方式在网页上实时呈现项目描述项目效果Python中的组合数据类型是指能够容纳多个数据项的数据结构。主要包括:序列类型(如字符串、列表、元组)。集合类型(如集合)。映射类型(如字典)。这些类型允许将不同或相同的数据项组合成一个整体,支持嵌套和灵活操作。列表可变且有序。元组不可变但高效。字典通过键值对存储数据。集合则用于无序且唯一的元素。相关知识:组合数据类型概念列表(List)属于组合数据类型中的序列类型,用中括号[]表示用于存储一系列有序的元素列表中的元素以逗号分隔,可以是不同类型的数据如整数、浮点数、字符串等。相关知识:列表my_list=[1,2,3,'a','b',[4,5],[33,66,44,21,33]]概念有正序和逆序两种访问方式。相关知识:列表my_list=[1,2,3,'a','b',[4,5],[33,66,44,21,33]]索引0123456print(my_list[0])print(my_list[5])print(my_list[3])1[4,5]a概念有正序和逆序两种访问方式。相关知识:列表my_list=[1,2,3,'a','b',[4,5],[33,66,44,21,33]]索引-6-4-2-1print(my_list[-6])print(my_list[-2])print(my_list[-4])1[4,5]a特点有序:元素按插入顺序排列。可变:可以修改、添加或删除元素。允许重复元素。列表的常用操作创建空列表列表的访问列表的切片...相关知识:列表列表的常用方法相关知识:列表方法说明示例append(x)将元素x添加至列表尾部lst=[1,2];lst.append(3)→[1,2,3]extend(iterable)将可迭代对象iterable中所有元素添加至列表尾部lst=[1,2];lst.extend([3,4])→[1,2,3,4]insert(index,x)在列表指定位置index处添加元素xlst=[1,3];lst.insert(1,2)→[1,2,3]remove(x)在列表中删除首次出现的指定元素xlst=[1,2,2];lst.remove(2)→[1,2]pop([index])删除并返回列表对象指定位置的元素,默认为最后一个元素lst=[1,2,3];lst.pop(1)→返回2,列表变为[1,3]clear()删除列表中所有元素,但保留列表对象lst=[1,2];lst.clear()→[]index(x)返回第一个值为x的元素的下标,若不存在值为x的元素,则抛出异常lst=[10,20,30];lst.index(20)→1count(x)返回指定元素x在列表中的出现次数lst=[1,2,2,3];lst.count(2)→2reverse()对列表元素进行原地翻转lst=[1,2,3];lst.reverse()→[3,2,1]sort(key=None,reverse=False)对列表元素进行原地排序lst=[3,1,2];lst.sort()→[1,2,3]copy()返回列表对象的浅复制lst=[1,2];new_lst=lst.copy()→new_lst为[1,2]任务描述创建6个元素的列表,元素类型包含整数、字符串、列表。索引访问:访问索引为2的值。访问倒序第1的值。切片操作:截取列表的前3个元素。按指定位置插入元素:在列表的末尾插入数字4。在末尾添加元素10。删除元素:删除列表中第1次出现的数字3,并删除索引为4的元素。打印修改后的完整列表示例4.1列表操作(4-ex-1.py)列表的排序两种默认排序方式原地排序:list.sort(),直接修改原列表生成新列表:sorted(list),返回排序后的新列表,原列表不变相关知识:列表列表的排序自定义排序规则通过key参数指定相应的排序规则lambda表达式lambda元素:返回值元素为列表中的每个数值;返回值为根据该值进行排序
相关知识:列表列表的赋值、浅复制和深复制列表的赋值是指给列表起一个新的名字,和原来的变量名都指向同一个列表,数据完全共享。最重要的应用函数参数传递相关知识:列表列表的赋值、浅复制和深复制浅复制是指创建一个新的列表对象,但其中的每个元素仍然引用原列表中对应元素的内存地址,即新旧列表共享相同的元素对象。解析a中的数据实际上为:[数字1,列表[2,3]的地址标签]b中的数据实际上为:[数字1,列表[2,3]的地址标签]若此时修改a中的数字1,b中的1是不受影响的但若修改列表[2,3]中的数据,由于a和b都是指向这个列表的地址标签,则a和b中的这个子列表是共享修改的相关知识:列表列表的赋值、浅复制和深复制深复制是指通过递归地复制对象的所有组成部分,创建出一个在结构和内容上与原对象完全相同、但在内存中完全独立的新副本。相关知识:列表列表推导式基本语法[expressionforiteminiterable]执行顺序逐个遍历iterable中的每个元素item对当前item执行expression表达式计算结果作为新列表的元素相关知识:列表列表推导式添加条件过滤[expressionforiteminiterableifcondition]执行顺序逐个遍历iterable中的每个元素item对当前item检查condition条件表达式对通过条件的item执行expression表达式计算结果作为新列表的元素相关知识:列表列表推导式多条件与复杂逻辑[expression1ifconditionelseexpression2foriteminiterable]执行顺序逐个遍历iterable中的每个元素item对当前item检查condition条件表达式若为True,则计算expression1表达式,结果加入新列表若为False,则计算expression2表达式,结果加入新列表相关知识:列表列表推导式嵌套循环[expressionforsublistinouter_listforiteminsublist]执行顺序外层循环:forsublistinouter_list内层循环:foriteminsublist计算表达式:expression(基于item)相关知识:列表任务描述某工业生产线使用激光扫描仪检测金属板材表面缺陷。每个缺陷记录存储为包含4个元素的列表:[X坐标,Y坐标,缺陷类型编码,严重等级]。其中:缺陷类型编码(1-3数字划分):1-划痕,2-裂纹,3-孔洞。严重等级(1-5数字划分):1-轻微缺陷,2-轻度缺陷,3-中度缺陷,4-严重缺陷,5-致命缺陷要求完成以下操作任务:初始化5个记录的缺陷列表。查询指定缺陷坐标,如获取第3个缺陷的坐标。提取前3条缺陷记录数据。在索引1位置插入新的紧急缺陷。删除严重等级<3的缺陷(反向遍历删除)。按严重等级降序排序(使用lambda表达式)试一试4.1工业缺陷数据检测(4-try-1.py)试一试4.1工业缺陷数据检测(4-try-1.py)拓展:统计各种缺陷类型出现的次数。概念Python中的集合(Set)是一种存储不重复元素的无序容器类似于数学中的集合概念它可以自动去除重复值例如将{1,2,2,3}变为{1,2,3}。集合支持添加、删除元素,以及高效的成员检测能快速判断某个值是否存在。虽然集合本身可变,但其元素必须是不可变类型(如数字、字符串或元组)。集合还提供丰富的数学运算如求并集、交集和差集等,非常适合用于数据去重、关系测试等场景相关知识:集合创建集合直接赋值s1={1,2,3}#创建非空集合s2=set()#创建空集合(不能用{},因为{}是空字典)从可迭代对象转换s3=set([1,2,2,3])#输出:{1,2,3}(自动去重)s4=set("hello")#输出:{'h','e','l','o'}(字符串转为字符集合)相关知识:集合集合的常用操作相关知识:集合操作类型方法/运算符功能描述示例添加元素
add(element)添加单个元素到集合s={1,2}
s.add(3)→{1,2,3}update(iterable)添加多个元素(接受列表、集合等可迭代对象)s={1,2}
s.update([3,4])→{1,2,3,4}删除元素remove(element)删除指定元素,元素不存在时报错
KeyErrors={1,2,3}
s.remove(2)→{1,3}discard(element)删除指定元素,元素不存在时不报错s={1,2,3}
s.discard(4)→无变化pop()随机删除并返回一个元素(集合无序)s={1,2,3}
s.pop()→可能返回1,剩余{2,3}clear()清空集合s={1,2,3}
s.clear()→set()成员检查in/notin判断元素是否在集合中s={1,2,3}
2ins→True
4notins→True集合的基本运算相关知识:集合运算类型运算符等效方法功能描述示例并集|set1.union(set2)返回两个集合的所有唯一元素{1,2}|{2,3}→{1,2,3}交集&ersection(set2)返回两个集合共有的元素{1,2}&{2,3}→{2}差集-set1.difference(set2)返回属于set1但不属于set2的元素{1,2}-{2,3}→{1}对称差集^set1.symmetric_difference(set2)返回仅存在于其中一个集合的元素(非共有部分){1,2}^{2,3}→{1,3}集合的应用场景去重:快速从列表中删除重复项lst=[1,2,2,3,4,4]unique=list(set(lst))#输出:[1,2,3,4](顺序可能变化)成员检查:高效判断元素是否存在valid_users={"Alice","Bob","Charlie"}user="Bob"ifuserinvalid_users:print("Accessgranted")相关知识:集合集合的应用场景关系测试:快速比较两组数据的交集、差集等a={1,2,3}b={3,4,5}common=a&b#交集:{3}相关知识:集合概念元组是Python中的不可变有序序列,元素通过下标访问(如tuple[0])。支持索引、切片、拼接(+)、重复(*)等操作,但不允许增删改元素。若含可变对象(如列表),其内部数据仍可修改。常用于存储稳定数据(如坐标、配置项),因其不可变性,亦可作为字典键。相关知识:元组基本特性不可变性创建后不能修改(增删改元素),但可以包含可变对象(如列表)。有序性元素按插入顺序存储,可通过索引访问。可重复性允许包含重复元素。异构性可存储不同类型的数据。可哈希性若元素均为不可变类型,元组本身可作为字典的键或集合的元素。相关知识:元组创建元组直接创建t1=(1,2,3)#标准方式t2=1,2,3#括号可省略(逗号是关键)t3=()#空元组t4=(42,)#单元素元组(必须有逗号)使用tuple()构造函数t5=tuple([1,2,3])#从列表转换
→(1,2,3)t6=tuple("abc")#从字符串转换
→('a','b','c')相关知识:元组元组的基本操作相关知识:元组元组的常用方法相关知识:元组方法描述示例count()统计元素出现次数(1,1,2).count(1)
→2index()返回元素首次出现的索引('a','b','a').index('a')
→0元组解包元组解包是Python中一种将元组的元素自动拆分并赋值给多个变量的语法特性。可使用星号(*)前缀的变量来捕获元组(或其他可迭代对象)中任意数量的剩余元素并存储在一个列表。但一个赋值语句只能有一个星号变量。相关知识:元组元组解包如果不关心某些元素,可以使用下划线_作为“垃圾”变量名。这是一个广泛遵循的约定。相关知识:元组元组解包在循环遍历复杂数据结构时,元组解包可以让代码非常清晰。关于星号(*)在Python中有多种用途,上述内容是在变量赋值时的"解包"功能。在后续的函数章节中,还会介绍一个重要的"打包"功能。它们其实是同一个运算符的两种不同表现形式。相关知识:元组元组和列表的比较相关知识:元组特性元组(Tuple)列表(List)可变性不可变可变语法使用圆括号()使用方括号[]性能创建和访问更快增删操作更方便内存占用通常更小通常更大适用场景数据保护、字典键、函数多返回值需要频繁修改的数据集合任务描述创建4个元素的学生信息列表,元素为元组,形如(ID,名字)。如[(1,'Alice'),(2,'Bob'),(3,'Charlie'),(4,'David')]。创建优秀学生ID集合如{1,3}。找出优秀学生ID对应的学生名字并存储。遍历输出优秀学生名字。试一试4.2找出并打印优秀学生的名字列表概念字典是Python中的可变、无序键值对集合,通过唯一键快速访问值。形如{键1:值1,键2:值2,...}键必须为不可变类型(如字符串、数字、元组),值可为任意对象。支持增删改查(如dict[key]、update())、遍历(items())、成员检测(in)等操作。适用于高效映射和动态数据存储,典型场景如JSON数据处理或缓存实现。相关知识:字典my_dict={'name':'John','age':30,'city':'NewYork'}键key值value基本特性可变性字典创建后可以修改(增删改)。无序性Python3.6+后字典保持插入顺序,但本质仍是无序结构。键的唯一性每个键必须是唯一的,重复键会覆盖旧值。键的可哈希性键必须是不可变类型(如字符串、数字、元组),不能是列表、集合或字典。值的灵活性值可以是任意Python对象(包括列表、字典等)。相关知识:字典字典的创建方式方式1:直接赋值d1={'name':'Alice','age':25}方式2:使用dict()构造函数d2=dict(name='Bob',age=30)方式3:从键值对序列创建d3=dict([(1,'Alice'),(2,'Bob'),(3,'Charlie'),(4,'David')])输出:{1:'Alice',2:'Bob',3:'Charlie',4:'David'}方式4:字典推导式d4={x:x**2forxinrange(5)}#{0:0,1:1,2:4,3:9,4:16}相关知识:字典字典的基本操作相关知识:字典字典的常用方法相关知识:字典方法描述示例keys()返回所有键的视图person.keys()→dict_keys(['name','age'])values()返回所有值的视图person.values()→dict_values(['Alice',25])items()返回所有键值对的视图person.items()→dict_items([('name','Alice'),('age',25)])update()合并字典person.update({'age':26,'job':'Engineer'})popitem()移除并返回最后插入的键值对(Python3.7+)person.popitem()→('age',25)del语句直接删除指定键值对(键不存在时抛出KeyError)delperson['age']pop(key[,default])删除指定键值对并返回其值,若键不存在则返回default或抛出KeyErrorperson.pop('age')→25person.pop('x','N/A')→'N/A'遍历输出字典的元素遍历键forkeyinperson:print(key,end=‘’)#输出:nameage遍历值forvalueinperson.values():print(value,end=‘’)#输出:Alice25遍历键值对fork,vinperson.items():print(f"{k}:{v}",end=‘’)#输出:name:Aliceage:25相关知识:字典任务描述初始化一个字典student,包含以下键值对:键“id”,值为整数1001。键“name”,值为字符串“张三”。键“scores”,值为字典{"Math":85,"English":92}。键“courses”,值为列表["Python","DataScience"]。基本操作:访问键“scores”中的“Math”成绩并输出。使用get()方法安全访问键“age”,若不存在返回"未知"。添加新键值对"gender":"男"。修改与合并:使用update()方法,更新“student”字典,添加"Physics":88。使用update()方法,将字典{"email":"zhangsan@","department":"CS"}合并到student打印输出更新后的字典。示例4.2字典操作(4-ex-2.py)删除操作:使用remove()删除键“courses”对应的值列表中的“DataScience”。使用pop()删除键“department”,若不存在则返回默认值“无部门”。使用popitem()删除最后插入的键值对。字典方法:遍历输出所有键。遍历输出所有值。使用字典推导式生成新字典score_desc,将scores中的分数转换为评级(≥90为"优秀",≥80为"良好",其他为"及格")。最终输出:打印修改后的完整字典student。打印生成的score_desc字典输出结果示例4.2字典操作(4-ex-2.py)示例4.2字典操作(4-ex-2.py)任务描述已知缺陷数据字典为product_info={"轴承":(["表面磨损","裂纹"],"振动检测"),"电路板":(["短路","虚焊"],"红外扫描"),"齿轮":(["断齿","磨损"],"噪声分析")}结构为{产品类型:(缺陷列表,检测方案)}试一试4.3工业产品缺陷检测系统(4-try-3.py)提示用户输入产品类型如:轴承、电路板、齿轮。根据输入的产品类型查询数据库若存在:提取缺陷列表和检测方案;格式化输出检测报告,包含产品类型标题;推荐检测方法;常见缺陷列表(逐项标记为*缺陷项)。若不存在:提示用户输出“未收录该产品,请联系工程师”。试一试4.3工业产品缺陷检测系统(4-try-3.py)概念字符串(str)是Python中表示Unicode字符序列的不可变有序容器,专门用于存储和处理文本数据。默认采用UTF-8编码,完整支持全球各种语言的字符集(包括中文、emoji等)。字符串支持类似元组的索引访问和切片操作(如s[0]、s[1:5]),但不支持直接修改单个字符。作为不可变类型,所有字符串操作(如拼接、替换)都会生成新字符串。字符串提供丰富的文本处理方法(如split()、join()、format()),并支持转义字符和原始字符串(r-string)等特殊语法,是Python文本处理的核心数据类型。相关知识:字符串字符串的创建单引号str1='HelloWorld'双引号str2="PythonProgramming"交替使用str3="It'sOK"三引号(可以跨越多行)str4='''Thisisamulti-linestring'''相关知识:字符串字符串的基本操作相关知识:字符串字符串的常用方法查找和替换大小写转换相关知识:字符串字符串的常用方法字符串分割和连接去除空白字符相关知识:字符串字符串的常用方法常用判断方法相关知识:字符串转义字符一种特殊的字符序列,以反斜杠\开头,用于表示无法直接输入的字符或特殊功能相关知识:字符串转义字符说明ASCII值示例输出\\反斜杠92C:\\→C:\\'单引号39'It\'s'→It's\"双引号34"Hesaid\"Hi\""→Hesaid"Hi"\n换行符10Line1\nLine2→两行文本\t水平制表符(Tab键)9Name:\tAlice→Name:Alice\r回车符(光标回行首)13Progress\rDone→覆盖显示\b退格符(删除前一个字符)8ab\bc→ac\xhh十六进制字符(2位)-\x41→A\ooo八进制字符(最多3位)-\101→A\uXXXXUnicode16位字符-\u03A9→Ω转义字符的应用场景路径处理相关知识:字符串引号嵌套格式控制任务描述完成一个用户注册信息处理程序,通过字符串操作实现以下功能:用户信息创建:创建变量user_name值为“user_2023”(带前后空格)。创建变量raw_email值为“ALICE@EXAMPLE.COM”。创建变量birth_date值为“1995-07-20”。创建变量hobby_str值为“篮球,游泳,阅读”。基本操作与格式化:去除user_name前后空格并转为小写。将raw_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司办公室人员个人工作总结
- 吉林大学有机化学实验2-甲基-2-己醇
- 浙教版科学八年级下册第二章课件-表示物质的符号(第2课时)
- 2026年新课标 I 卷高考化学易错点专项突破卷(含解析)
- 绿色贷款助力绿色发展
- 光储融合关键要点 (课件)
- 变电设备检修工冲突管理知识考核试卷含答案
- 船舶附件制造工安全防护竞赛考核试卷含答案
- 计算机零部件装配调试员班组管理模拟考核试卷含答案
- 锅炉设备试压工安全规程模拟考核试卷含答案
- 基于大数据的临床检验结果分析
- DBJ04T 292-2023 住宅物业服务标准
- 中药天花粉简介
- 2024-2025年全国高中数学联赛试题及解答
- 连续退火铜大拉线机性能参数及操作规范
- DB51∕T 2439-2017 高原光伏发电站防雷技术规范
- DB21-T+4005-2024超大规模超深井智慧矿山建设规范
- 【基于单片机的船舶自动灭火系统的设计(论文)17000字】
- DBJ04∕T 299-2013 发泡水泥保温板外墙外保温工程技术规程
- 完工后做好项目复盘总结
- ABB机器人指令培训教材
评论
0/150
提交评论