版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目二Python语言基础《Python数据分析》(新商科微课版)目录Content项目主题和目标01项目设计和实现02项目小结03项目思考和练习04项目主题和目标01.【项目介绍】
Python作为一种简洁易学的高级编程语言,广泛应用于Web开发、数据分析、人工智能等多个领域。通过本项目的学习,学生将能够熟练运用Python编写简单的程序,完成某项基础功能,为后续深入学习Python以及在实际工作中应用Python打下坚实基础。【素质目标】1. 培养良好的编程习惯和逻辑思维能力;2. 培养学生发现问题、分析问题、解决问题的能力;3. 增强团队合作和沟通能力,提高解决问题的效率。【知识目标】1.熟练掌握Python语言的基本语法和编程技巧;2.理解Python语言的面向对象编程思想;3.了解Python语言的高级特性。【技能目标】1. 掌握Python语言基础编程方法;2. 掌握Python编程安装调试方法。【知识链接】学好任何一门编程语言,首先需要掌握的是其基本语法、数据类型和流程控制语句。这一部分并不难。同时Python的学习资源十分丰富,可以通过在线运行网站、在线可视化编程学习工具或者在线学习社区提高工作效率。在线可视化编程学习工具菜鸟工具:/compile/9/pythontutor可视化在线执行/python-compiler.html#mode=edit【思政小贴士】Python执行严格缩进规则,恰似职业规范中的“按章操作”。细节决定成败,严谨细致的工作态度是专业人才的必备素养,也是技术创新的重要保障。项目设计和实现2.【思维导图】简单的输入输出项目二任务一【任务说明】编写程序,输入学生的姓名、所属学院、入学年份、专业和班级等信息,按图示要求格式化输出结果。要求程序支持中文输入输出,并在编写过程中对程序进行必要的注释。任务输出格式【任务设计】一个最基础的计算机程序包括输入、处理和输出三个部分内容,在任务中,三个部分的代码并不需要严格的区分,可以根据实际情况整合。分解对应的任务流程和要求:任务流程和要求输入学生姓名所属学院入学年份专业班级处理格式化输出屏幕显示其它要求:支持中文必要的注释【任务设计】(1)输入Python提供了input()内置函数获取用户输入信息,可以用变量来标识它。input()括号内的提示信息用于提示用户该输入什么样的数据。变量=input(“提示信息”)开始运行input()语句在屏幕上显示提示信息等待用户输入用户回车后获取用户输入默认情况下,用户输入的任何内容都会以字符串形式存储。如果要输入数值或者表达式,可以使用eval()函数。变量=eval(input(“提示信息”))【课堂练习】L2-1.1输入练习.pytype()函数可以显示变量类型,典型的使用方法如下:print(type(变量名))【课堂练习】L2-1.2变量赋值.py【任务设计】(1)输入在本任务中用户需要输入5项学生个人信息,参考代码和运行结果如下:【分段参考代码:P2-1简单的输入输出.py】【任务设计】(2)处理
在本任务中,只是对输入的文本进行格式化后重新排版输出,所以将处理过程整合到输出部分。小明商学院2023商务数据分析与应用1学生的姓名是:小明学生的学院是:商学院学生的班级信息:2023商务数据分析与应用1班【任务设计】(3)输出在Python中,print()函数用于在控制台上输出指定的内容,print可以输出一个或者多个字符串、变量的值,可以和format()函数或者“%”配合进行格式化输出,也可以控制输出分隔符和结束符。print是Python程序员使用频率最高的函数之一,实际应用中,利用在代码之间插入print,输出运行过程中的变量或者状态值,是调试程序的有效方法。【课堂练习】运行右侧代码,并掌握print()函数的几种典型输出方式。L2-1.3输出函数.py【任务设计】(3)输出在本任务中,学生姓名和所属学院是单行输出,直接用逗号输出。班级信息是字符串组合,可以用format()函数实现。【分段参考代码:P2-1简单的输入输出.py】【任务设计】(4)其它
在编程语言中,注释不会影响程序的执行,但是会使代码更易于阅读和理解。Python中的注释有单行注释和多行注释。Python中单行注释以#开头,多行注释用三个单引号'''或者三个双引号"""将注释括起来,多行注释之间不可嵌套使用。注释【任务设计】(4)其它#-*-coding:utf-8-*-是一个特殊的Python注释,用于指定源代码文件的字符编码。这个注释必须放置在Python文件的第一行或者第二行(首行有类似#!/usr/bin/python3的声明的前提下),声明Python解释器源代码文件使用UTF-8编码。它可以确保你的源代码文件能够被正确地读取和解析,特别是源代码文件中包含非ASCII字符(如中文)时。编码注释注释练习【思政小贴士】支持中文编码注释,使用中文拼音变量名,既提升代码可读性,也体现文化自信。科技发展要扎根本土需求,我们既要学习国际技术,更要讲好中国开发者的故事。【任务实现】编写程序,输入学生的姓名、性别、入学年份和专业,按要求格式化输出结果。要求程序支持中文输入输出,并在编写过程中对程序进行必要的注释。任务参考代码:P2-1简单的输入输出.py【运行调试】检查代码分色高亮是否正常,注意编辑器是否有报错提示;检查所有符号是否为半角英文字符(字符串内或者注释除外)检查变量名或者关键字是否输错;检查引号的对应以及括号的对应和嵌套;检查代码前是否有多余空格或者错误的缩进。
如果程序运行报错,根据程序控制台的错误提示,检查从提示报错的行号的前一行代码到报错行代码的内容,检查步骤如下:课堂练习:L2-1.5代码调试练习.py【思政小贴士】代码调试如同职业成长,需要用实践检验、逐行排查、自我纠错、精益求精。这种严谨态度是解决复杂问题的关键,也是职业素养的重要体现。【任务小结】在Python中,输入和输出是非常重要的概念,允许用户与程序进行交互,并查看程序的输出结果。Python提供了多种方式来进行输入输出操作,包括标准输入输出、文件输入输出和格式化输出。本任务通过键盘输入用户信息,并在对信息字符串进行格式化处理后,通过控制终端输出。序号名称用途学习要求1input()用户输入函数掌握2type()查看变量类型掌握3format()格式化函数掌握4print()输出函数掌握5变量运行中标识、保存和调用数据了解6字符串数据类型的一种,用于在运行中标识和存储文本数据了解7注释注释不会影响程序的执行,但是会使代码更易于阅读和理解。Python中的注释有单行注释和多行注释。Python中单行注释以#开头多行注释用三个单引号'''或者三个双引号"""将注释括起来掌握8编码注释指定Python文件编码,如果要在文件里输入输出中文,为了防止乱码,必须在程序的第一行或者第二行(首行有类似#!/usr/bin/python3的声明的前提下)放上utf-8编码注释:#-*-coding:utf-8-*-掌握9运行调试从报错行号的前一行开始检查:检查代码分色高亮是否正常;检查所有符号是否为半角英文符号(字符串内或者注释除外)检查变量名是否输错;检查引号的对应以及括号的对应和嵌套;检查代码前是否有多余空格或者错误的缩进。掌握变量赋值与数值运算项目二任务二【任务说明】A公司主营视频直播带货,近期签约主播小美和小娜进行了几场直播,根据平台导出的成交数据,输出两个主播的总成交额和日均成交金额(四舍五入,保留两位小数)。成交数据表日期主播成交金额03-05小美6268.8903-06小美9252.2303-06小娜9474.5803-07小美9591.5103-07小娜9174.54【任务设计】一般的程序输入时从键盘输入、数据库、文件流或者互联网页等环境导入,但是一些简单地程序也可以在程序中进行直接赋值,这时程序就可能把输入和处理流程整合到一起。任务流程和要求输入直接赋值处理求和平均值输出成交总额日均成交额【任务设计】(1)输入Python的赋值采用赋值运算符“=”实现变量=表达式表达式是由值、变量、运算符和函数调用等组成的代码片段,用于计算并生成一个值。运算符描述备注=简单的赋值运算符a=1+=加法赋值运算符a+=b等同a=a+ba-=b等同a=a-b以此类推……-=减法赋值运算符*=乘法赋值运算符/=除法赋值运算符%=取模赋值运算符**=幂赋值运算符//=取整除赋值运算符【任务设计】(1)输入在本任务中可以直接通过表达式可以在赋值时直接完成成交总额的计算工作【分段参考代码:P2-2变量赋值与运算.py】【知识链接】变量命名规则Python变量的命名必须遵循命名规则:变量名只能包含字母、数字和下划线;变量名可以以字母或者下划线开头,但不能以数字开头;变量名区分大小写;变量名不能是系统函数或者关键字(例如:“input”,“print”等)。同时,在变量命名时建议遵循以下规范:变量名应简短且具有描述性;变量名慎用可能导致混淆的字符(例如O和0,l和1等等);商业项目建议使用驼峰命名法,可自行查阅相关资料。【课堂练习】L2-2.1变量命名与使用.py编制Python程序,用直接赋值的方法获取GMV(商品交易总额)和GPM(平均每一千个观众下单的总金额),并输出。指标GMVGPM数据122851489.07【任务设计】(2)处理同样用赋值语句完成日均成交额的计算工作【分段参考代码:P2-2变量赋值与运算.py】【任务设计】(3)输出用print()函数可以输出结果,任务要求结果(四舍五入,保留两位小数),round()函数可以实现四舍五入的功能。round(x[,n])x是要四舍五入的数,可以是变量、数值或者表达式;n可选参数,表示保留小数点位数,同样可以是变量、数值或者表达式。当n为空时,对x进行四舍五入取整操作。注意:round()函数并不改变x的值,而是生成一个新的四舍五入以后的值,这个值可以保存到变量中,也可以直接输出,在这个过程中,除非对x进行重新赋值(例如使用x=
round(x[,n])),否则x的值始终保持不变。【课堂练习】L2-2.2四舍五入练习.py【拓展知识】Python3的round()四舍五入函数并不是传统概念上的四舍五入,存在四舍六入五不精确的问题。在工作时首先要判断要四舍五入的数值能否用二进制精确表示(可以参考IEEE754标准);其次,需要按照四舍六入五成双机制进行科学修约。在有需要进行精确地四舍五入的科学计算的场合,要用其它方法解决。【思政小贴士】表面上,四舍五入带来的影响似乎是很小的数值,但是失之毫厘,谬以千里,数据分析结果直接影响决策,职业工作中要始终坚守数据真实性原则,注重细节,用专业能力保障结果的准确性。【任务设计】(3)输出本任务同时输出成交总额和日平均成交额,在输出时可以加空行分开:【分段参考代码:P2-2变量赋值与运算.py】【课堂练习】L2-2.3算术运算符.py在本任务的输入和处理中,用到了Python的算术运算符,常用的算术运算符可以通过本练习了解,注意Python里一些运算符的写法和日常我们使用有个别不同。***,/,%,//+,-Python算术运算符遵循高级优先的原则,如果运算符在同一层级,则根据表达式从左到右的顺序计算。可以通过括号来改变运算顺序,括号可以嵌套使用。【任务实现】任务参考代码A公司主营视频直播带货,近期签约主播小美和小娜进行了几场直播,根据平台导出的成交数据,输出两个主播的总成交额和日均成交金额(四舍五入,保留两位小数)。结论:1、小美的成交总额为:25112.63元,小娜的成交总额为:18649.12元,小美的成交总额较高;2、小美的日平均成交额为:8370.88元,小娜的日平均成交额为:9324.56元,小娜的日均成交额较高。【任务实现】任务运行结果【运行调试】如果程序运行报错,根据程序控制台的错误提示,从报错行号的前一行开始检查,检查步骤如下:检查代码分色高亮是否正常,注意编辑器是否有报错提示;检查所有符号是否为半角英文字符(字符串内或者注释除外)检查变量名或者关键字是否输错;检查引号的对应以及括号的对应和嵌套;检查代码前是否有多余空格或者错误的缩进。【任务小结】本任务通过求总成交额和和日平均成交额的方式,学习了赋值运算符、变量命名规则、算术运算符和运算顺序、括号的使用、以及四舍五入的概念。序号名称简要说明学习目标1赋值运算符=号,为变量赋值+=、-=、*=、/=、%=、**=、//=掌握2表达式由值、变量、运算符和函数调用等组成的代码片段,用于计算并生成一个值。了解3变量命名规则只能包含字母、数字和下划线;不能以数字开头;区分大小写;不能是系统函数或者关键字。掌握4算术运算符**,*,/,%,//,+,-
5算术运算符运算顺序幂运算最高,加减法最低,同级从左到右掌握6括号的使用用括号改变优先级顺序掌握7round()四舍五入函数掌握条件控制语句与应用项目二任务三【任务说明】小明是一家电商女装中端品牌的的产品经理,需要设计一个简单的自动化商品定价策略系统。该系统将根据不同的市场条件(如季节、竞争对手价格、库存水平等)自动调整商品价格。商品策略表季节库存定价冬季>5000竞争对手价格的9折夏季>6000竞争对手价格的8折其它情况竞争对手价格的9.8折运行测试数据商品季节库存竞争对手价格定价英伦女大衣冬季55001289.88
英伦女大衣冬季45001289.88
国风女长裙夏季9000858.98
国风女长裙夏季5900858.98
【任务设计】该任务的输入有季节、竞争对手价格和库存数量三个变量,处理的过程是用条件控制语句实现自动化定价策略,输出就是产品的最终定价。分解任务流程和要求如图任务流程和要求输入季节库存竞争对手价格处理冬季且库存>5000,九折夏季且库存>6000,八折其它情况9.8折输出定价【任务设计】用条件控制语句实现自动化定价策略的处理过程可转化为流程图【任务设计】(1)输入编写代码,从键盘输入获取季节、竞争对手价格和库存数量,这里可以通过数字来代表季节。同时要注意,默认条件下,用户通过input输入的任何内容都是字符串类型,可以用eval将输入的数字保存为数值类型。【任务设计】(2)处理在任务的处理过程当中,需要使用条件控制语句,通过对定价条件进行判断,执行不同的定价策略。条件控制语句由关键字(if,elif,else)、条件表达式(布尔值、单条件表达式或多条件表达式)和代码块构成。【知识链接】条件控制语句条件控制语句可以用于控制程序的执行流程。它允许程序根据条件执行不同的代码块。条件控制语句包括:if语句:用于条件控制语句开头,当条件表达式的布尔值为真时执行代码块;elif语句(可选):用于检查多个条件表达式,并在满足一个时执行相应的代码块,可以多次使用;else语句(可选,):用于条件控制语句的结尾,执行上述条件均不为真时的代码块。在实际使用中,要特别注意缩进和冒号的书写规范【知识链接】条件表达式条件控制语句的条件是一个条件表达式。条件表达式的判断结果用布尔值表示,条件表达式可以由布尔值、单条件表达式或多条件表达式组成。【知识链接】布尔值
布尔值是Python中的一个基本数据类型,用于表示真(True)或假(False)。布尔值在Python中的使用非常广泛,特别是在控制流程和逻辑判断中。Python当中的布尔值可以和数字1和0通用,其中1代表True,0代表False。【知识链接】单条件表达式单条件表达式一般由比较运算符和两个比较值组成。Python有6个常用的比较运算符。这些比较运算符用于比较两个值,并返回一个布尔值(True或False)。特别需要注意的是等于运算是“==”号而不是“=”号,如果用“=”号则变成赋值语句。比较运算符【课堂练习】L2-3.2比较运算符练习.pyL2-3.2是一个密码校验程序,在Python环境中输入:L2-3.2比较运算符练习代码并保存,运行两次,分别输入【123456】和【654321】,观察运行结果【知识链接】多条件表达式多条件表达式一般由逻辑运算符和多个布尔值或单条件表达式组成。Python提供了三个逻辑(或布尔)运算符,“and”、“or”和“not”运算符。【知识链接】逻辑运算符and:有假就假or:有真就真not:真就是假,假就是真逻辑运算符的运算顺序是从左到右执行可以通过括号调整运行顺序。【思政小贴士】多条件判断需要综合权衡,这与职业决策同理。我们要培养系统思维,在复杂情境中做出科学合理的选择。【课堂练习】L2-3.3逻辑运算符练习.pyL2-3.3是一个登陆信息验证程序,在Python环境中输入L2-3.3逻辑运算符练习代码并保存,按以下表格输入登陆信息,观察运行结果Python中的逻辑运算符具有短路行为,在进行and运算时,从左到右计算表达式结果,当出现表达式为False时,整个表达式的结果就已经确定为False,Python不会再计算其之后的表达式,直接输出False。同理,在进行or运算时,从左到右计算表达式结果,当出现表达式为True时,整个表达式的结果就已经确定为True,Python也不会再计算其之后的表达式,直接给出True结果。【课堂练习】L2-3.4逻辑运算符练习.py修改【L2-3.3逻辑运算符练习.py】输入部分的写法,并保存为【L2-3.4逻辑运算符练习.py】运行运行结果显示,无论哪个信息输错,程序都会让用户输完用户名、密码和验证码后,再给出判断。【任务设计】(2)处理根据商品策略表,编写多条件控制语句,实现自动化商品定价。分段参考代码如下【分段参考代码:P2-3条件控制语句与应用-2.py】【任务设计】(3)输出该任务要求输出定价,人工填入表格中,这里可以用print()函数直接输出结果,为了符合金额标准,定价保留两位小数。print('该商品定价为:{}元'.format(round(dingjia,2)))【任务实现】任务参考代码整理分段参考代码,整合并调试运行,程序能根据输入的季节、竞争对手价格和库存数量,按照该任务要求的定价策略输出商品定价。【任务实现】任务运行结果【思政小贴士】自动化系统的定价策略需符合市场规律和商业伦理。技术应用要以人为本,避免算法歧视,彰显科技向善的价值导向。【任务小结】该任务通过条件控制语句,设计一个简单的自动化商品定价策略系统。该系统将根据不同的市场条件(如季节、竞争对手价格、库存水平等)自动调整商品价格。主要知识点如表:序号名称简要说明学习目标1条件控制语句条件控制语句可以用于控制程序的执行流程。它允许程序根据条件执行不同的代码块。条件控制语句包括:if语句:用于条件控制语句开头,当条件表达式的布尔值为真时执行代码块;elif语句(可选):用于检查多个条件表达式,并在满足一个时执行相应的代码块,可以多次使用;else语句(可选):用于条件控制语句的结尾,执行上述条件均不为真时的代码块。掌握2条件条件控制语句的条件是一个条件表达式。条件表达式的判断结果用布尔值表示,条件表达式可以由布尔值、单条件表达式或多条件表达式组成。了解3布尔值布尔值是Python中的一个基本数据类型,用于表示真(True)或假(False)。Python当中的布尔值可以和数字1和0通用,其中1代表True,0代表False。掌握4单条件表达式一般由比较运算符和两个比较值组成,比较两个值,并返回一个布尔值。了解5比较运算符Python有6个常用的比较运算符。==:等于,比较两个值是否相等。!=:不等于,比较两个值是否不相等。>:大于,比较左边的值是否大于右边的值。<:小于,比较左边的值是否小于右边的值。>=:大于等于,比较左边的值是否大于等于右边的值。<=:小于等于,比较左边的值是否小于等于右边的值。特别需要注意的是等于运算是“==”号而不是“=”号掌握6多条件表达式多条件表达式一般由逻辑运算符和多个布尔值或单条件表达式组成。了解7逻辑运算符Python提供了三个逻辑(或布尔)运算符,“and”、“or”和“not”运算符。and:有假就假or:有真就真not:真就是假,假就是真掌握8“短路行为”在进行and运算时,从左到右计算表达式结果,当出现表达式为False时,整个表达式的结果就已经确定为False,Python不会再计算其之后的表达式,直接输出False。同理,在进行or运算时,从左到右计算表达式结果,当出现表达式为True时,整个表达式的结果就已经确定为True,Python也不会再计算其之后的表达式,直接给出True结果。了解【任务小结】循环控制和列表项目二任务四【任务说明】A公司主营智能手环、蓝牙耳机,从电商系统导出2023年的月份销售数据如表(单位:万元)。希望通过Python程序对每个主营产品的销售额进行统计,输出两个主营产品2023年每个季度的销售总额和季度平均销售额(结果四舍五入,保留1位小数)。月份123456789101112智能手环2.52.92.42.76.43.33.42.92.93.92.92.8蓝牙耳机4.57.64.319.913.310.311.313.814.16.97.89.8【任务设计】该项任务和任务二变量赋值与数值运算类似,都要进行求和和求平均值的操作。但是相比任务二,该任务要输入的数据较多,不适合用键盘直接输入,这时我们就可以用到Python的列表变量来保存数据。任务流程和要求输入将销售数据转为列表类型变量处理循环获取每月数据求季度销售总额求季度平均销售额输出季度销售总额季度平均销售额其它要求:四舍五入保留1位小数列表(list)是Python内置的数据类型,是一种非常常用的数据结构,用于存储多个元素。列表变量可以存储不同类型的数据,如整数、浮点数、字符串、其他列表等。列表使用方括号[]来定义,以半角的英文逗号【,】分隔,并通过索引访问其中的元素,列表的正向索引从0开始,反向索引从-1开始。【知识链接】列表数据类型及其使用【课堂练习】L2-4.1基本的列表创建和索引.py列表(list)提供了多种内置函数和方法来操作列表。通过书本最后的附录二列表(list)常用函数和方法速查表可以快速学习这些函数和方法。例如append(x)方法:【知识链接】列表的函数和方法该方法将在列表的末尾添加一个元素,将示例里的代码直接输入集成编辑环境,并运行,将输出“示例→输出”字段里【→】后的结果【任务设计】(1)输入将销售数据转为列表变量,完成输入部分代码:【知识链接】循环控制语句
从列表中提取每月的销售数据,需要用到for循环。循环是一种特殊的控制流语句,用于重复执行一段代码。在实际编程中,循环有三个常用的基本功能:计数循环、遍历循环和条件循环。循环可以迭代和嵌套使用。【知识链接】for循环Python的循环控制语句有for和while两种。一般情况下,遍历循环可以使用for,条件循环可以使用while,计数循环使用for和while都行,但是一般也使用for实现。【知识链接】for循环【知识链接】while循环while循环当条件为真时,执行循环代码主题,为假则执行循环结束时执行的代码,如果在循环过程中遇到了break语句,则会中断循环,此时不会执行else子句,必须注意的是,while循环代码主体必须存在改变条件表达式变量或者break语句,否则会陷入死循环。【知识链接】while循环【课堂练习】L2-4.2循环控制语句练习.py
代码中使用end=’’参数是会使print默认的换行失效,如果要实现接下去的空行,就不能使用print(),而必须使用print(end='\n\n')双换行结束标识来实现。【知识链接】range函数如果要实现计数循环,可以用内置的range()函数range(10)就会生成0-9的数值,range(1,11,2)就会生成从1-10之间的奇数数列,range(2,11,2)就会生成从1-10之间偶数数列。range()生成的数列不能直接print输出,要用for遍历L2-4.3range函数练习.py【知识链接】break、continue和pass语句break语句可以跳出for和while的循环体。用break跳出后,任何对应的循环else块将不执行。continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。在Python中,pass语句是一个特殊的语句,它的作用是表示“什么都不做”。当解释器遇到pass语句时,它会忽略该语句,继续执行下一条语句,所以pass语句大多数情况用于做占位符,特别是用在一些必须要有子语句(典型特征是在带冒号结束的语句的下一行,编辑器一般会自动缩进)又暂时不需要执行任何操作的场合。【课堂练习】L2-4.4break、continue应用练习.pybreak应用练习完成一个不限个数的数值列表的键盘输入,当输入是0时不保存到列表中,当输入e时程序打印出现有列表并结束。输入数值表中所示:顺序123456数值2.52.92.402.8e【知识链接】循环的嵌套L2-4.5循环的嵌套练习.py循环的嵌套练习的输出结果,从结果可以看出,i的计数从0到3,总共循环了4次;j的计数从0到2,总共循环了3次;m通过自加1的可以实现两个循环的计次(这个操作也称为自增),因为print在自增之后,所以m的计数从1到12,总共循环了12次。最终嵌套循环的结果等于外循环i的循环次数4乘以内循环j的循环次数3。【任务设计】(2.1)修改L2-4.5循环的嵌套练习用for循环遍历所创建的列表,提取每月的销售额,月份销售额按顺序取值,3个月一季度,4个季度为一年。为了同步计算蓝牙手环和蓝牙耳机两项数据,没有采用in直接遍历列表的方法,而是通过建立公共索引的方法来分别调用蓝牙手环和蓝牙耳机的销售额,原练习变量在自增前的值为0-11,符合公共索引的取值要求。变量取值说明(注意第1个索引位置是0,第2个索引位置是1,依此类推)m0-11月份索引,转换为月份值可直接+1i0-3季度索引,转换为季度值可直接+1j0-2季度里的月份索引(如第1季度第1个月份)【任务设计】(2.1)修改L2-4.5循环的嵌套练习(2.1-1)将销售数据转化的列表变量拷贝到循环前;(2.1-2)以m值为索引获取和输出蓝牙手环和蓝牙耳机的月份销售额,此处注意销售额获取的位置,是在m+=1自增操作之前,因为循环从0开始,在输出月份变量m时需要做+1的操作;(2.1-3)输出月份销售额结果保留1位小数。【任务设计】(2.2)统计季度数据(2.2-1)在季度循环中新增季度销售额变量huan_jd和erji_jd,该变量用于季度销售额统计,在每次季度循环时置0;(2.2-2)每次季度-月份子循环中,分别为季度销售额变量huan_jd和erji_jd叠加该季度每个月份销售额huan[m]和erji[m],因为已经不需要输出月份变量,通过注释跳过输出月份销售额语句,循环执行时变量变化如表。(2.2-3)在每次季度-月份子循环跳出后,输出季度销售额(保留1位小数)。【任务设计】(2.3)统计季度平均销售额(2.3-1)新增销售总额变量huan_jd_sum和erji_jd_sum,该变量用于销售总额统计,和季度销售总额不同,销售总额变量在循环开始前初始化,且不需要在循环过程中重置0;(2.3-2)每次季度子循环中,分别为销售总额变量huan_jd_sum和erji_jd_sum叠加每个季度销售总额huan_jd和erji_jd,因为已经不需要输出月份变量,通过注释跳过输出月份销售额语句;(2.3-3)在循环结束后,计算输出季度平均销售额(保留1位小数)。季度平均销售额=销售总额/季度总数【思政小贴士】嵌套循环的层层迭代如同职业发展的持续积累。只有脚踏实地打磨技艺,才能实现从量变到质变的飞跃。【任务实现】任务输出(1)将销售数据转化为列表变量;(2)创建季度循环和季度-月份子循环嵌套,创建0-11月份索引,在季度-月份子循环内获取月份销售额;(3)创建季度销售额变量,运用在季度主循环内对季度销售额变量置0和在季度-月份子循环内叠加的方式月销售额到季度销售额变量的方式,实现季度销售额的获取;(4)创建销售总额变量,在循环前初始化,并在季度循环内叠加季度销售额到销售总额变量中;(5)循环结束后,通过季度平均销售额=销售总额/季度总数(最大季度索引+1),获取季度平均销售额;(6)对输出数据按要求进行格式化和保留位处理。【任务小结】该任务通过应用循环控制语句和列表变量,完成年度分季销售总额和季平均销售额的统计工作。在该任务中学习了列表的定义以及操作,列表速查表的使用学习以及循环控制语句的用法序号名称简要说明学习目标1列表数据类型列表(list)是内置的数据类型,是一种非常常用的数据结构,用于存储多个元素。列表变量可以存储不同类型的数据,如整数、浮点数、字符串、其他列表等。列表使用方括号[]来定义,以半角的英文逗号【,】分隔,并通过索引访问其中的元素,列表的正向索引从0开始,反向索引从-1开始。掌握2列表的函数与方法通过书本最后的附录二列表(list)常用函数和方法速查表可以快速学习和查找列表的数和方法。了解3循环控制语句循环是一种特殊的控制流语句,用于重复执行一段代码。在实际编程中,循环有三个常用的基本功能:计数循环、遍历循环和条件循环。循环可以迭代和嵌套使用。一般情况下,遍历循环可以使用for,条件循环可以使用while,计数循环使用for和while了解4for循环for循环元素in元素集合:#循环代码主体else:#else语句是可选项#循环结束时执行的代码掌握【任务小结】序号名称简要说明学习目标5while循环while条件:#循环代码主体(循环体必须有改变条件表达式变量的语句)else:#else语句是可选项#循环结束时执行的代码掌握6range函数如果要实现计数循环,可以用内置的range()函数,range函数的基本语法:range(start,stop[,step])start:序列的起始值(包含)。stop:序列的结束值(不包含)。step:序列中数字之间的差值,默认是1。掌握7break、continue和pass语句break语句可以跳出for和while的循环体。用break跳出后,任何对应的循环else块将不执行。continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。pass语句是一个特殊的语句,它的作用是表示“什么都不做”。当解释器遇到pass语句时,它会忽略该语句,继续执行下一条语句,所以pass语句大多数情况用于做占位符,特别是用在一些必须要有子语句(典型特征是在带冒号结束的语句的下一行,编辑器一般会自动缩进)又暂时不需要执行任何操作的场合。掌握8循环的嵌套1.循环可以嵌套或者迭代使用,最终嵌套循环的结果等于外循环的循环次数乘以内循环的循环次数的总乘积。2.理解图2-24中双重循环的嵌套等价流程图掌握【任务小结】序号名称简要说明学习目标8循环的数值叠加1.循环可以用于数据的叠加;2.循环数据的叠加必须注意数值的初始化和叠加操作(一般叠加用+=实现);3.嵌套循环数据的操作时,要注意数值置0初始化语句的位置。汇总(叠加)三步流程:(1)创建汇总变量,并初始化置0(注意循环对置0的影响)(2)叠加数据(3)循环之后,在创建汇总变量的同缩进位置输出熟练掌握文件操作与字典应用项目二任务五【任务说明】小强是某投资公司的助理分析员,通过每天在收盘后对上证A股、深证A股和北证A股等股票数据进行分析,初步筛选当天有关注价值的股票进行进一步的分析。关注股票要求同时满足以下条件:序号指标条件1振幅10%<振幅<20%2换手率5%<换手率<10%3动态市盈率小于20倍【任务说明】收盘数据已经导出,存放到D:盘的“股票数据”文件夹下,文件为xlsx格式,以板块+日期方式命名(如:北证A股0417.xlsx),小强希望编写Python程序,实现自动初筛的功能。具体要求程序输出当天可以进一步分析的股票代码和名称,同时将筛选结果写入“操作建议”列,并保存到原文件当中。【任务设计】该项任务要求读写文件并根据既定条件筛选,同时输出结果,具体任务分解如图2.5-2:任务流程和要求输入遍历目录下所有板块的表格文件处理遍历表格文件中的股票数据按条件对股票进行筛选判断输出输出建议关注的股票将操作建议写入原文件当中【任务设计】(1)输入在该任务当中,首先要对指定文件夹进行遍历,并输出文件夹内的所有文件路径。Python的OS模块是一个非常实用的模块,它提供了与操作系统交互的功能。这个模块允许Python脚本与操作系统进行交互,以执行各种操作,如文件和目录操作、执行系统命令、获取环境变量等。【知识链接】OS系统交互【知识链接】OS系统交互【任务设计】分段参考代码:P2-5文件操作与字典应用-1运行结果:【思政小贴士】文件操作需遵守操作系统规范,这与职业行为准则相通。尊重规则、注重细节,是保障工作质量的基础。字符串前加r或R表示这是一个原始字符串。原始字符串的特点是,字符串中的反斜杠\不会被当作特殊字符处理,即不会发生转义。比如\n是换行的转移符,在以下案例中,加了r前缀的原始字符串才能正常显示文件夹名【知识链接】原始字符串【知识链接】字符串在Python中,字符串是一个不可变的序列类型,用于表示和存储文本数据。字符串是由零个或多个字符组成的,包括字母、数字、标点符号和特殊字符。在Python中,可以使用单引号'、双引号"来定义单行字符串,使用三引号'''或"""来定义多行字符串。和列表一样,字符串有很多常见的函数和方法,通过书本最后的附录三:字符串常用函数和方法速查表可以快速学习这些函数和方法。【课堂练习】L2-5.1字符串操作练习获取地址列表中的城市名称.py【任务设计】(2)处理观察数据格式,比较简单可行的一种方法是读取文件,将表格转化为字典变量,再遍历字典中的股票数据,并按条件对股票进行筛选判断。【知识链接】read_excel()读取Excel文件可以使用pandas库的read_excel方法。pandas是一个强大的第三方Python库,用于数据处理和分析,使用前要先安装pandas库(Anaconda环境已经默认安装了pandas)并导入。read_excel()方法会将Excel文件读取为DataFrame对象。(2.1)读取Excel文件【知识链接】DataFrame对象pandas库的DataFrame是一个二维的表格型数据结构,用于存储和操作结构化数据。它类似于数据库中的表或Excel表格,每个DataFrame都有列标题(称为列名)和行索引。【知识链接】字典(dict)类型字典是Python的内置数据类型之一,是一种用于存储键(key)值(value)对的数据结构。它是一个可变的、无序的集合,其中每个键都是唯一的,并且与一个值相关联。(2.2)将读取的文件转换为字典变量【知识链接】L2-5.2字典操作练习.py【思政小贴士】字典存取有清晰的逻辑结构,职业工作和规划也需要清晰的逻辑结构。合理规划工作逻辑和发展路径,才能高效达成目标。【知识链接】to_dict()函数pandas库的to_dict()函数用于将DataFrame转换为字典格式。(2.2)将读取的文件转换为字典变量【课堂练习】分段参考代码:P2-5文件操作与字典应用-2.py(2.3)遍历字典变量,查看数据转化结果。程序已经遍历“股票数据”文件夹中的三个Excel文件,并且能够正常读取,转换为字典,输出的是遍历的文件名和字典的第一行数据。【任务设计】(2.4)按条件对股票进行筛选判断并输出
筛选判断的具体步骤是先用for……in的方法遍历biaoge变量,读取jilu,按任务说明里的要求对记录进行判断,满足初筛条件的记录,修改其【操作建议】的键值为【关注】,同时将股票名称和代码输出到控制台。初筛条件必须同时满足,所以条件之间用and关联。【任务设计】(3)输出该任务除了控制台输出,还要将修改后的字典保存到原文件夹的同名文件中。写入文件之前,先要将字典变量再转回DataFrame对象,再通过to_excel()方法将修改后的内容写入同名文件。【知识链接】从字典创建DataFrame对象变量名=pd.DataFrame(字典)【知识链接】to_excel()pandas的to_excel()方法用于将DataFrame导出到Excel文件中。【课堂练习】分段参考代码:P2-5文件操作与字典应用-4.py结合使用DataFrame()和to_excel()方法,完整Excel文件的写入和保存。【任务实现】完整代码(1)使用OS模块遍历并通过pandas的read_excel()方法读取股票数据文件夹内的所有Excel文件;(2)读取文件内容转换为字典变量;(3)遍历字典变量,进行初筛,输出通过初筛的股票,并修改其操作建议为【关注】;(4)将修改后的字典变量转换为DataFrame对象;(5)调用to_excel()保存修改后的数据到原Excel文件当中。【任务小结】该任务通过文件操作和字典变量,结合pandas的部分方法,以文件读取、数据处理、文件保存的方式完成股票数据的初筛工作。序号名称简要说明学习目标1OS系统交互Python的OS模块是一个非常实用的模块,它提供了与操作系统交互的功能。本任务用到的一些相关OS模块用法:os.listdir(path=None):输出当前path路径下所有文件及文件夹os.path.join(path,*paths):拼接路径os.path.isfile(path):判断path是否为文件,输出为布尔值掌握2原始字符串字符串前加r或R表示这是一个原始字符串。原始字符串的特点是,字符串中的反斜杠\不会被当作特殊字符处理,即不会发生转义。了解3字符串字符串是一个不可变的序列类型,用于表示和存储文本数据。字符串是由零个或多个字符组成的,包括字母、数字、标点符号和特殊字符。在Python中,可以使用单引号'、双引号"来定义单行字符串,或使用三引号'''或"""来定义(多行)字符串。可以通过附录三字符串常用函数和方法速查表可以快速学习这些函数和方法。熟练掌握4代码续行Python支持用反斜杠“\”来进行代码续行,在一行代码末尾添加“\”可以连接“\”前后两行,相当于两行合并成单行代码了解【任务小结】序号名称简要说明学习目标5pandas库的使用pandas是一个强大的第三方Python库,用于数据处理和分析,使用前要先安装pandas库(Anaconda环境已经默认安装了pandas)并导入。importpandasaspd掌握6pandas的read_excel()pandas库的read_excel方法可以读取Excel文件。掌握read_excel()的几种常见的使用方法,比如:df=pd.read_excel('文件路径.xlsx',sheet_name='工作表名称')熟练掌握7DataFramepandas库的DataFrame是一个二维的表格型数据结构,用于存储和操作结构化数据。它类似于数据库中的表或Excel表格,每个DataFrame都有列标题(称为列名)和行索引。了解8字典(dict)类型1.字典是Python的内置数据类型之一,是一种用于存储键(key)值(value)对的数据结构。它是一个可变的、无序的集合,其中每个键都是唯一的,并且与一个值相关联。2.定义字典:使用花括号{}定义字典,键和值之间使用冒号【:】分隔,键值对之间使用逗号【,】分隔。3.遍历字典等字典的常规操作。掌握【任务小结】序号名称简要说明学习目标9pandas的to_dict()1.pandas库的to_dict()函数用于将DataFrame转换为字典格式。2.to_dict()方法的基本用法。掌握10pandas从字典创建DataFrame对象pandas的DataFrame()方法可以很简单地创建DataFrame对象,使用方法为:变量名=pd.DataFrame(字典)掌握11pandas的to_excel()pandas的to_excel()方法用于将DataFrame导出到Excel文件中。熟练掌握几种常见的使用方法,比如:df.to_excel('文件路径',sheet_name='工作表名',index=False)熟练掌握自定义函数与应用——批量计算固定资产折旧项目二任务六【任务说明】A公司为初创企业,开业之初购买了一批办公设备,清单保存在D盘的“资产”目录下的“资产清单.xlsx”文件中(图2.6-1)。按照财务制度,资产折旧家具类为5年,电子设备类为3年,预计净残值都为5%,现在需要编写程序计算该批设备每年的折旧费用(结果四舍五入保留2位小数)。要求:a.调用自定义函数计算折旧费用;b.输出每年的折旧费用和累计折旧。【知识外链:直线折旧法】固定资产折旧是企业会计中的一个重要概念,用于将固定资产的成本在其使用寿命内分配到每个会计期间。折旧反映了固定资产由于使用和时间推移而产生的价值减少。直线折旧法一种常见的固定资产折旧方法,它假设固定资产的损耗是均匀的,即固定资产的价值每年以固定比例减少。直线折旧法简单易懂,易于计算和操作。直线折旧法基于以下公式计算每年的折旧费用:
【任务设计】该项任务要求读入资产文件并按公式计算每年的折旧费用,同时输出结果:任务流程和要求输入D盘的“资产”目录下的“资产清单.xlsx”文件处理遍历表格文件中的资产数据调用自定义函数计算折旧费用输出输出每年的折旧费用和累计折旧其它要求:四舍五入保留2位小数【任务设计】(1)输入在该任务中,只有一个资产清单文件,可以直接使用【项目二任务五分段参考代码:P2-5文件操作与字典应用-2.py】中pandas的read_excel方法读入表格内容,转换为字典格式并遍历表格内容:分段参考代码:P2-6自定义函数与应用-1.py【任务设计】(1)输入分段参考代码已经完成输入和部分处理步骤的内容,表格已经按行转化为字典,并遍历。其中,采购时间的数据比较特殊,数据前加了Timestamp标识,表示它是一个pandas的Timestamp(时间戳)类对象。再次打开“资产清单.xlsx”文件(图2.6-4),点击日期数据,单击鼠标右键,选择【设置单元格格式】,可以发现数据的分类和其它列不同,是日期分类,所以pandas转换时会自动转换为Timestamp类对象。【任务设计】(2)处理输入部分已经完成表格数据的遍历,在此要继续进行调用自定义函数计算折旧费用的处理流程。【知识链接】自定义函数在Python中,自定义函数是编写代码时非常有用的工具,它允许你将代码块组织成可重用的单元。自定义函数一般由自定义函数名、输入参数、函数体、返回值构成。【知识链接】自定义函数基本用法【思政小贴士】函数参数的精准传递如同职业沟通。清晰的信息传递是团队协作的基础,也是职业能力的重要体现。【知识链接】L2-6.1自定义函数练习.pyL2-6.1是自定义函数练习,定义了一个输入直径返回圆面积的函数。因为圆面积和圆半径相关,所以在函数内定义了输入直径,返回半径的内部函数,外部函数调用内部函数获取半径,并计算面积。主程序通过循环实现10,20,30三种直径的输入,最终输出相对应的面积。【知识链接】格式化字符串在Python中,字符串前面加f,代表使用格式化字符串(f-string)的方式定义字符串,只支持Python3.6及以上的版本。使用格式化字符串,用花括号{}包含表达式或变量,可以将表达式或变量的值直接嵌入到字符串中直接输出,使代码更加简洁易读。【随堂练习】格式化字符串(f-string)的方式改写项目二任务一的代码。【系统设计】程序流程图在学习了自定义函数的知识后,可以尝试调用自定义函数计算折旧费用。经过梳理,程序流程图如下【系统设计】程序流程图第一步要先完成自定义计算固定资产的直线折旧费用函数部分代码,在编写函数前先统计函数里用到的变量,这些变量如果不是从函数内部直接获取,就要从外部通过参数传入。从自定义资产折旧计算函数流程部分可以看到,函数内用到了折旧费用、初始价值、年限、累计折旧、年次五个变量,其中折旧费用和累计折旧两个变量是在自定义函数内部通过计算获取,同时这两个变量也是传出变量(自定义函数返回值),剩下的初始价值、年限、年次三个变量就要从外部传入。函数体由两个表达式和返回函数构成。【系统设计】分段参考代码:P2-6自定义函数与应用-2.py【系统设计】第二步继续完成遍历数据输出折旧费用和累计折旧部分程序代码,从流程图的遍历数据部分可以看到,程序用一个条件控制语句,对记录中的【类型】字段进行判断,如果是家具类型,则将报废年限设置未5年,其它(电子设备)类型设置为3年。之后创建报废年限循环,在报废年限周期内调用,调用自定义计算固定资产的直线折旧费用函数,并传递资产价值(【小计】字段)、报废年限和当前循环年次(年次代表该物品使用的第几年)三个参数,最终获取折旧费用和累计折旧【系统设计】分段参考代码:P2-6自定义函数与应用-3.py程序可以打印出输出结果但是输出可读性不强。【任务设计】(3)输出该任务对于输出并无太具体要求,但是之前运行结果来看,有必要对输出进行调整,可以增加品名和时间字段,并增加适当的描述,增强输出的可读性。在输出时间时,目前程序是以年次的方式输出,在这里可以通过对原记录中【采购时间】进行处理来实现,采购时间是2024年2月1日,程序要求输出2025、2026……设备财务使用年限到期前的资产折旧情况,在不进行手动输入的前提下,需要程序自动根据年次输出具体时间。【采购时间】是pandas的Timestamp类对象,因为时间涉及的进制相对复杂,并不能直接进行加减操作,所以要使用Timestamp类操作功能。【知识链接】Timestamp的基本用法
Timestamp类对象用于表示一个精确到纳秒的日期和时间。它是Pandas中处理时间序列数据的核心组件,提供了丰富的功能来操作时间数据。几个常用的功能如下:【知识链接】L2-6.1Timestamp类对象时间操作.py【系统设计】分段参考代码:P2-6自定义函数与应用-4.py从练习可以得出,具体年份可以使用【采购时间】+pd.DateOffset(years=年次)的方式获取,【任务实现】完整代码(1)使用pandas的read_excel方法直接读入D盘的“资产”目录下的“资产清单.xlsx”文件中表格内容,转换为字典格式并遍历;(2)编写自定义函数,完成自定义计算固定资产的直线折旧费用函数部分代码,确定函数名和初始价值、年限、年次三个变量为输入变量,折旧费用和累计折旧为输出(返回)变量,编写函数体完成折旧费用和累计折旧的计算;(3)在遍历字典循环中,通过对记录中的【类型】字段进行判断,得到资产的不同报废年限;(4)创建基于年限的循环,获取循环年次,并在循环中通过调用zhejiu函数的方法获取折旧费用和累计折旧;(5)结合Timestamp操作和格式化字符串,完善程序输出,提高代码的可读性。【任务小结】该任务通过读取资产文件,按照财务制度,使用自定义函数方法完成直线折旧法资产折旧的计算工作。序号名称简要说明学习目标1自定义函数在Python中,自定义函数是编写代码时非常有用的工具,它允许你将代码块组织成可重用的单元。自定函数基本用法:定义函数:使用def关键字来定义一个函数。函数名通常是描述其功能的短语;函数参数:函数可以接受任意数量的参数,参数在函数定义时列出,并在函数调用时提供;函数体:函数体包含执行特定任务的代码。它应该在return语句中包含要返回的值,或者在最后一行包含没有值的return语句;函数调用:通过使用函数名并传入参数来调用函数;全局变量与局部变量:在函数内部定义的变量是局部变量,在函数外部定义的变量是全局变量。默认的情况下,局部变量只能在其定义的函数内部访问,全局变量在自定义函数内部可以访问,但是无法修改。当一个变量在全局作用域中定义,并且在函数内部也需要使用和可能修改时,可以在函数内部使用global关键字来声明,这样可以在函数内部访问和修改该全局变量的值;函数的嵌套:函数可以在其他函数中定义,这种做法称为函数的嵌套;函数文档字符串:文档字符串(docstring)是函数定义后第一行的字符串,它提供了关于函数的描述,文档字符串不是必须的,但是它能提高代码的可读性。1-5掌握6-7了解【任务小结】该任务通过读取资产文件,按照财务制度,使用自定义函数方法完成直线折旧法资产折旧的计算工作。序号名称简要说明学习目标2格式化字符串在Python中,字符串前面加f,代表使用格式化字符串(f-string)的方式定义字符串,只支持Python3.6及以上的版本。使用格式化字符串,用花括号{}包含表达式或变量,可以将表达式或变量的值直接嵌入到字符串中直接输出,使代码更加简洁易读。name='小明'age=18print(f'学生的姓名是{name},{age}岁。'))熟练掌握【任务小结】该任务通过读取资产文件,按照财务制度,使用自定义函数方法完成直线折旧法资产折旧的计算工作。序号名称简要说明学习目标3Timestamp类对象Timestamp类用于表示一个精确到纳秒的日期和时间。它是Pandas中处理时间序列数据的核心组件,提供了丰富的功能来操作时间数据。几个常用的功能如下:创建Timestamp:使用pd.Timestamp()函数创建一个Timestamp类对象。可以指定日期和时间,也可以使用时间戳(通常是1970年1月1日00:00:00UTC到现在的总纳秒数,软件不同时间戳精确级别也不同,比如PHP是秒级,JavaScript是毫秒级)。访问日期和时间部分:使用year,month,week,day,hour,minute,second,microsecond属性访问日期和时间各部分。时间偏移量:时间偏移量,也可以理解为时间的前进或者后退。使用DateOffset可以对指定的Timestamp类对象进行时间正反向偏移操作,可以以years,months,weeks,days,hours,minutes,seconds为单位间隔进行正方向偏移。格式化输出:使用strftime方法将Timestamp类对象格式化为字符串。掌握异常处理与应用——自动化股票初筛程序异常处理项目二任务七【任务说明】小强是任务五中的投资助理分析员,通过观察,他发现通过任务五编写的程序在运行中偶尔会因为数据文件同时在Excel中打开或者其它问题报错,并中断运行。当其它同事运行程序时,因为不清楚异常提示而无法解决问题,现在他要修改程序,对一些常见异常作出必要的提示。【任务设计】该任务要修改已有程序,实现异常提示,因此要捕获异常并提示,同时使程序能够继续执行。该任务工作方式有别于传统的输入、处理和输出流程,但是同样可以借助输入、处理和输出流程来理解和分解任务流程:任务流程和要求输入执行程序代码处理捕获和处理异常输出输出提示信息并继续执行【知识链接】异常处理在Python中,try-except-else-finally语句块是异常处理的完整结构。try块中是尝试执行的代码;except块中代码用于捕获和处理异常,当try块代码执行发生异常时触发运行;else块中的代码在try块成功执行(无异常)后触发运行;finally块中的代码在try代码执行后运行,即无try块代码是否发生异常最终都会触发运行。【知识链接】异常处理完整的Python异常处理结构
在异常处理结构中,try部分是尝试执行的代码,必选;except部分是异常处理,必须选择其中的一项或者几项。当except部分有几个分支选项时,按从上到下的执行顺序,满足任一选项则跳出except语句部分,继续执行except异常处理结束后的代码;else和finally语句块是可选项,根据需要选用。【思政小贴士】泛型异常处理(except:)如同“头痛医头”,可能掩盖深层问题。真正的职业素养要求我们:必须像工匠打磨器物般追根溯源,用系统性思维彻底解决问题,而非简单忽略异常。L2-7.1除法运算不使用异常处理.pyL2-7.2除法运算使用异常处理.py【课堂练习】在Python中调试并运行L2-7.1和L2-7.2的代码,分别按以下表格输入被除数和除数,观察两段联系的代码运行结果有何不同,以及它们之间有何关联。L2-7.1除法运算不使用异常处理.pyL2-7.2除法运算使用异常处理.py【课堂练习】【知识链接】异常类型异常类型就是程序运行时报错信息显示的类,Python中有很多内置的异常类型,它们代表了不同种类的错误和异常情况。通过对常见(参见附录四常见异常类型速查表)以及运行调试中遇见的异常进行处理,可以记录异常状况,并防止程序因为运行异常而导致非正常中断。【任务设计】(1)输入该任务的输入可以理解为通过try执行代码,准备进行异常处理。打开文件的错误是从pandas读入文件开始,一直到最终写入结束,可以将这块代码整段列为异常处理入口。注意在添加try:入口后,要将原有代码块整体缩进。同时,必须添加一个except:,代码块可以设置pass占位,等待处理部分添加异常处理代码。分段参考代码:P2-7异常处理与应用-1.py【任务设计】(2)处理和输出要捕获和处理异常。可以通过查看报错信息的方法来补全异常处理代码,也可以通过常见异常速查表添加可能出现的异常。例如要捕获任务说明里因为数据文件被打开导致的异常,先用Excel打开【股票数据】目录下的【北证A股0417.xlsx】文件,再运行P2-5文件操作与字典应用.py代码从报错信息可以看到,异常类型是PermissionError,是许可错误,拒绝访问。【任务设计】(2)处理和输出修改P2-7异常处理综合实践-1.py中except:和pass占位组成的代码块,捕获异常并输出提示信息同时,为了防止其它异常出现,保留了泛异常处理except:代码块,并设置了异常提醒。运行程序【任务设计】(2)处理和输出第一次读写报错是在读取【d:\股票数据\~$北证A股0417.xlsx】文件时,该文件是在打开一个Excel文档时自动在目录下创建的隐藏文件,用于存储当前会话的更改,该文件不可被其它软件同时打开,所以报读写异常错误;第二次读写报错是在写入【d:\股票数据\北证A股0417.xlsx】文件时,文件被Excel打开,所以无法写入报错。因为异常类型都被准确捕获,所以泛异常处理部分不执行,而无论哪次报错,都没有影响程序继续执行。【思政小贴士】精准捕获错误就像医生诊断病情——只有明确病因(文件被占用),才能开出正确药方(提示关闭文件)。这启示我们:面对问题要深入分析根源,用专业能力履行职业责任。【任务实现】完整代码整理分段参考
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 18015.1-2017 数字通信用对绞或星绞多芯对称电缆 第 1 部分:总规范》专题研究报告
- 《GBT 16828-2021商品条码 参与方位置编码与条码表示》专题研究报告
- 2025-2026学年乘车教学设计说明排版
- 《GBT 14643.4-2009工业循环冷却水中菌藻的测定方法 第4部分:土壤真菌的测定 平皿计数法》专题研究报告
- 国家义务教育质量监测小学四年级科学核心素养国测模拟测试题(附答案)
- 触电事故应急预案及演练方案
- 2025-2026学年所见课件教案
- 企业生产效率提升技术方案
- 2025年高考物理电磁学知识体系梳理与习题训练试卷及答案
- 大学本科实验课教学质量评价标准
- 电磁技术的应用
- 2025年计量专业案例分析(一级注册计量师)真题试卷及答案
- 广西钦州市2025-2026学年高二上学期1月月考语文试题(含答案)
- 物业前期秩序维护部培训
- 2025急性缺血性卒中血管内治疗并发症重症管理专家共识课件
- 2026年ipmpd级考试试题
- 2026年浙江机电职业技术学院单招职业技能考试备考试题带答案解析
- 义务教育道德与法治课程标准日常修订版(2022年版2025年修订)
- 2026年商丘学院单招(计算机)测试备考题库必考题
- 2025年卫生管理初级师考试真题及答案
- 企业信息系统维护手册与模板
评论
0/150
提交评论