Python财经应用-编程基础、数据分析与可视化课件 第2章-Python程序设计基础-2.1程序基本流程控制_第1页
Python财经应用-编程基础、数据分析与可视化课件 第2章-Python程序设计基础-2.1程序基本流程控制_第2页
Python财经应用-编程基础、数据分析与可视化课件 第2章-Python程序设计基础-2.1程序基本流程控制_第3页
Python财经应用-编程基础、数据分析与可视化课件 第2章-Python程序设计基础-2.1程序基本流程控制_第4页
Python财经应用-编程基础、数据分析与可视化课件 第2章-Python程序设计基础-2.1程序基本流程控制_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

Python财经应用:编程基础、数据分析与可视化第二章Python程序设计基础中国农业大学李辉Python

程序设计基础本章节系统介绍

Python程序设计核心知识,包括程序基本流程控制、典型序列数据结构、函数与函数式编程、面向对象程序设计的关键概念及实践应用。利用选择和循环结构语句搭配break、continue等控制语句,可处理复杂业务逻辑与优化数据流程。典型序列数据结构(列表、元组、字典、集合)为财经数据存储、查询、转换提供灵活工具,在股票数据处理分析中表现突出。函数与函数式编程注重代码复用和模块化,自定义及匿名函数助力高效财务评估与投资建议系统。面向对象程序设计借类和继承机制,为构建复杂财经数据处理系统提供结构化方案。综合应用案例(股票交易模拟器、个人财务评估系统、财经数据处理系统)展现实际财经场景下编程技术应用,助力分析师实现数据驱动决策支持。01

程序基本流程控制02

典型序列数据结构03

函数与函数式编程04

面向对象程序设计01

程序基本流程控制02

典型序列数据结构03

函数与函数式编程04

面向对象程序设计2.1

程序基本流程控制第二章Python程序设计基础程序基本流程控制

程序设计时,通常有顺序结构、选择结构和循环结构三种基本结构。顺序结构是程序执行的基础,按照语句的先后顺序依次执行。在财经数据分析中,数据的预处理步骤通常采用顺序结构,例如数据的读取、清洗和初步转换等操作。选择结构根据条件判断结果选择执行不同的代码块,是实现复杂逻辑的核心。在财经分析中,选择结构常用于根据不同的财务指标或市场条件执行不同的分析策略。循环结构用于重复执行某段代码,直到满足特定条件。在处理批量数据或实时监控数据时,循环结构是不可或缺的工具。顺序结构并不能满足所有编程需求,例如在计算员工提成时,我们通常根据销售额来设定不同的提成比例:如果销售额超过100万元,则提成比例为8%;若未达到,则提成比例为5%。到了下个月初,我们需要依据每位员工的销售业绩来确定其提成比例,这就涉及选择结构(也称为分支结构)。在这种结构中,会根据条件表达式的真假(True或False)来决定执行哪一段特定的代码。只有满足条件的分支会被执行,而其他分支将被跳过。这种基于条件判断来选择执行路径的结构,是编程中常见的逻辑控制方式之一。选择结构语句选择结构语句选择结构又称为分支结构,根据判断条件表达式是否成立(True或False)决定下一步选择执行特定的代码。在Python语言中,条件语句使用关键字if、elif、else来表示,基本语法格式如下:在Python中,条件表达式的值只要不是False、0(或0.0、0j等)、""、()、[]、{}、空值(None)、空对象,Python解释器均认为其与True等价,也就是说,所有Python合法表达式(算术表达式、关系表达式、逻辑表达式等,包括单个常量、变量或函数)都可以作为条件表达式。选择结构分为单分支结构、多分支结构、嵌套分支结构等多种形式。if条件表达式1:if-语句块1[elif条件表达式2:elif-语句块2else:else-语句块3]其中,冒号(:)是语句块开始标记,[]内为可选项。选择结构语句——单分支结构单分支结构的语法格式如下:功能:如果if条件表达式的结果为真,则执行if之后的语句块,然后执行分支结构以外的语句;如果if条件表达式的结果为假,则不执行其后面的语句块,直接执行分支结构以外的语句。语句块中可以包含多条语句。Python程序是依靠代码块的缩进体现代码之间的逻辑关系的。行尾的冒号表示缩进的开始,缩进结束就表示一个代码块结束了。整个if结构就是一个复合语句。同一级别的语句块的缩进量必须相同。注意:if条件表达式的最后一定不能漏掉符号“:”,否则会出错;符号“:”之后的语句块中的语句必须缩进,否则会出错。if条件表达式:语句块选择结构语句——单分支结构

【例2-1】单分支判断应用:根据现金管理制度,某企业每日留存的库存现金限额不超过3000元,如果库存现金超过限额,需要把超出限额部分于当日终了前交存开户银行。输入出纳当日盘点现金总额,判断库存现金是否超额。limit=3000amount=eval(input('输入出纳当日盘点现金总额:'))ifamount>limit:print(f'库存现金超出限额,须交存银行{amount-limit}元。')else:print('库存现金未超出限额,无须交存银行。')运行结果如下:输入出纳当日盘点现金总额:4500库存现金超出限额,须交存银行1500元。选择结构语句——双分支结构双分支结构的语法格式如下:功能:若if条件表达式的结果为真(True),则执行紧随其后的语句块1,并跳过else之后的语句块2,直接继续执行分支结构之外的后续语句。反之,如果if条件表达式的结果为假(False),则忽略if后的语句块1,转而执行else后的语句块2,完成之后同样继续执行分支结构之外的其他语句。注意:一个if语句最多只能拥有一个else子句,且else子句必须是整条语句的最后一个子句,else没有条件。其中else不能单独使用,它必须和保留字if一起使用。在程序中使用if-else语句时,如果出现if语句多于else语句的情况,那么该else语句将会根据缩进确定该else语句属于哪个if语句。if条件表达式:语句块1else:语句块2选择结构语句——双分支结构

【例2-2】双分支判断应用:根据现金管理制度,某企业每日留存的库存现金限额不超过3000元,如果库存现金超过限额,需要把超出限额部分于当日终了前交存开户银行。输入出纳当日盘点现金总额,判断库存现金是否超额。limit=3000amount=eval(input('输入出纳当日盘点现金总额:'))ifamount>limit:print(f'库存现金超出限额,须交存银行{amount-limit}元。')else:print('库存现金未超出限额,无须交存银行。')运行结果如下:输入出纳当日盘点现金总额:2500库存现金未超出限额,无须交存银行。功能:如果if条件表达式1的结果为真,则执行语句块1,然后忽略后面的elif和else语句,直接执行分支结构以外的语句;如果elif条件表达式2的结果为真,则执行语句块2,然后直接执行分支结构以外的语句……如果前n-1个条件表达式都不为真,则执行语句块n,然后直接执行分支结构以外的语句。使用if-elif-else语句时,条件表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果条件表达式为真,执行语句;而如果条件表达式为假,则跳过该语句,进行下一个elif的判断,只有在所有条件表达式都为假的情况下,才会执行else中的语句。选择结构语句——多分支结构语法格式如下:if条件表达式1:if语句块1elif条件表达式2:elif语句块2elif条件表达式3:elif语句块3[else:else语句块4]选择结构语句——多分支结构【例2-3】多分支判断应用:惠农公司采用直线法(月折旧额=固定资产原值×(1-残值率)/(预计使用年限×12))计提折旧,其固定资产折旧规定如表所示。请输入设备的类型和价格,然后计算资产折旧额。资产类型预计使用年限/年残值率/%房屋建筑物505生产设备105办公设备33其他设备53选择结构语句——多分支结构实现代码如下:

price=eval(input('请输入固定资产的价格:'))FAtype=input('请输入设备类型:')ifFAtype=='房屋建筑物':year=50rate=0.05elifFAtype=='生产设备':year=10rate=0.05elifFAtype=='办公设备':year=3rate=0.03else:year=5rate=0.03dep=round(price*(1-rate)/year/12,2)print('资产月折旧额为:',dep)选择结构语句——多分支结构运行结果如下:请输入固定资产的价格:8000请输入设备类型:生产设备资产月折旧额为:63.33需要注意的是if和elif都需要判断条件表达式的真假,而else则不需要判断;另外,elif和else都必须与if一起使用,不能单独使用。选择结构语句——嵌套分支结构多分支结构也可以使用嵌套分支结构实现。语法格式如下:上述格式中,外层的if块中嵌套了一个if-else结构,外层的else块中嵌套了一个if结构。if条件表达式1:语句块1if条件表达式:语句块2else:语句块3else:if条件表达式4:语句块4循环结构是指满足一定条件的情况下,重复执行特定代码块的一种编码结构。其中,被重复执行的代码块称为循环体,判断是否继续执行的条件称为循环终止条件。在Python中,常见的循环语句是while语句和for语句两种格式。while循环与for循环的思路类似,区别在于while循环需要通过条件来实现逻辑控制,而不能像for循环一样直接读取序列对象。循环结构语句循环结构语句——while循环while语句通过条件表达式建立循环。while循环可实现无限循环,即永远执行。无限循环的本质是死循环,仅在特定场景下使用,因此应该在循环中设计退出机制。while循环的语法格式如下:当条件表达式的值为True时,执行循环体的语句,循环体中可以包含多条语句,这些语句都会被重复执行。while语句中必须有改变循环条件的语句(将循环条件改变为False的代码),否则会进入死循环。while条件表达式:循环体循环结构语句——while循环【例2-5】某部门为分析每月的产品销售量,先连续输入各个月份的产品销售量,以输入0或者负数来结束输入,并输出最终的平均产品销售量。实现代码如下:

total=0count=0num=int(input("请输入产品销售量:"))whilenum>0:total+=numcount+=1num=int(input("请输入产品销售量:"))ifcount>0:print(f'该部门每月平均销售量为{round(total/count)}。')循环结构语句——while循环运行结果如下:请输入产品销售量:875请输入产品销售量:672请输入产品销售量:673请输入产品销售量:860请输入产品销售量:0该部门每月平均销售量为770。循环结构语句——for循环for循环是一个依次重复执行的循环。通常适用于枚举或遍历序列,以及迭代对象中的元素。其中,可迭代对象一次返回一个元素,因而适用于循环。Python包括以下几种可迭代对象:序列(sequence),例如字符串(str)、列表(list)、元组(tuple)等;字典(dict);文件对象;迭代器对象(iterator);生成器函数(generator)。迭代器是一个对象,表示可迭代的数据集合,包括方法__iter__()和__next__(),可以实现迭代功能。生成器是一个函数,使用yield语句,每次产生一个值,也可以用于循环迭代。循环结构语句——for循环for循环的语法格式如下:其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,循环体为一组被重复执行的语句。for语句依次从序列或可迭代对象中取出一个元素并赋值给变量,然后执行循环体代码,直到序列或可迭代对象为空。for迭代变量in序列或迭代对象:循环体循环结构语句——for循环使用for语句处理列表时,程序会自动迭代列表对象,不需要定义和控制循环变量,代码更简洁。range函数属于Python内置的函数,返回一个可迭代对象,语法格式如下:start:定计数的起始值,可以省略,若省略默认值为0;end:计数的结束值(但不含该值),不可缺省。step:计数的步长,即两个数之间的间隔,可以省略,若省略默认值为1。功能:产生以start为起点,以end为终点(不包括end),以step为步长的int型列表对象。这里的3个参数可以是正整数、负整数或者0。在使用range函数时,如果只有一个参数,那么表示指定的是end;如果有两个参数,则表示指定的是start和end;当3个参数都存在时,最后一个参数才表示步长。range(start,end,step)循环结构语句——for循环

【例2-6】某部门为分析一个季度的每个月的营收状况。请输入一个季度每月的营收额,并输出该季度每月的平均营收额。实现代码如下:total=0foriinrange(1,4):money=float(input(f"请输入第{i}个月的营收额:"))total+=moneyprint(f'该部门每月的平均营收额为{round(total/3,2)}元。')循环结构语句——for循环运行结果如下:请输入第1个月的营收额:8900请输入第2个月的营收额:12760请输入第3个月的营收额:7800该部门每月的平均营收额为9820.0元。循环结构语句——循环嵌套在Python中,允许在一个循环体中嵌入另一个循环,这称为循环嵌套。在Python中,for循环和while循环都可以进行循环嵌套。【例2-7】收益率可以帮助投资者了解股票的表现,并做出投资决策。手动计算每只股票的收益率既耗时又容易出错。因此,编写一个Python脚本,自动计算多只股票在多个时间点的收益率。数据输入:输入多只股票的价格数据。每只股票的价格数据包括多个时间点的价格。收益率计算:对每只股票,计算相邻时间点的收益率。收益率公式为:收益率=(当前价格-前一价格)/前一价格*100%。结果输出:输出每只股票的收益率列表。循环结构语句——循环嵌套

实现代码如下:#输入股票数量num_stocks=int(input("请输入股票数量:"))循环嵌套#输入每只股票的价格数据foriinrange(num_stocks):print(f"\n输入第{i+1}只股票的价格数据:")#输入价格数据点的数量num_prices=int(input("请输入价格数据点的数量:"))#输入价格数据previous_price=float(input("请输入第1个价格(元):"))print("这是第一个价格,无法计算收益率。")forjinrange(1,num_prices):current_price=float(input(f"请输入第{j+1}个价格(元):"))return_rate=((current_price-previous_price)/previous_price)*100print(f"时间点{j}到{j+1}的收益率:{return_rate:.2f}%")previous_price=current_price循环结构语句——循环嵌套运行结果如下:请输入股票数量:2输入第1只股票的价格数据:请输入价格数据点的数量:3请输入第1个价格(元):100这是第一个价格,无法计算收益率。请输入第2个价格(元):120时间点1到2的收益率:20.00%请输入第3个价格(元):130时间点2到3的收益率:8.33%输入第2只股票的价格数据:请输入价格数据点的数量:4请输入第1个价格(元):200这是第一个价格,无法计算收益率。请输入第2个价格(元):190时间点1到2的收益率:-5.00%请输入第3个价格(元):210时间点2到3的收益率:10.53%请输入第4个价格(元):220时间点3到4的收益率:4.76% 上述示例使用Python的循环嵌套(外层循环遍历股票,内层循环遍历价格数据)来解决财经分析中的实际问题。投资者可以根据自己的需求输入股票价格数据,快速计算出每只股票的收益率。这种自动化分析方法不仅提高了效率,还减少了人为错误的可能性。在循环嵌套中,如果外层循环执行n次,内层循环执行m次,则整个循环需要执行n×m次。循环结构语句

——循环嵌套break、continue和else语句在循环结构中,还可以使用break、continue和else等语句控制循环过程或处理循环结束后的工作。

在循环过程中,有时可能需要提前跳出循环,或者跳过本次循环的剩余语句以提前进行下一轮循环,在这种情况下,可以在循环体中使用break语句或continue语句。如果存在多重循环,则break语句只能跳出自己所属的那层循环。break语句和continue语句通常与if语句配合使用。break、continue和else语句——break语句break语句可以终止当前的循环,包括while和for在内的所有控制语句。break语句的语法比较简单,只需要在相应的while或for语句中加入即可。break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层的循环。【例2-9】允许用户连续输入各个月份的产品销售量,以输入0或者负数来结束输入,并输出最终的平均产品销售量。实现代码如下:break、continue和else语句——break语句

total=0count=0whileTrue:num=int(input('请输入销售量:'))ifnum<=0:breaktotal+=numcount+=1ifcount>0:print(f'平均产品的销售量为{total/count}')break、continue和else语句——break语句运行结果如下:请输入销售量:230请输入销售量:450请输入销售量:124请输入销售量:89请输入销售量:67请输入销售量:0平均产品的销售量为192.0break、continue和else语句——continue语句continue语句的作用没有break语句强大,它只能终止本次循环而提前进入到下一次循环中。continue语句的语法比较简单,只需要在相应的while或for语句中加入即可。continue语句一般会结合if语句进行搭配使用,表示在某种条件下,跳过当前循环的剩余语句,然后继续进行下一轮循环。如果使用嵌套循环,continue语句将只跳过最内层循环中的剩余语句。【例2-10】continue应用:允许用户连续输入各个月份的产品销售量,以输入0或者负数来结束输入,并输出最终的平均产品销售量。实现代码如下:break、continue和else语句——continue语句

count=3total=0count=0whileTrue:num=int(input('请输入销售量:'))ifnum>0:total+=numcount+=1continuebreakifcount>0:print(f'平均产品的销售量为{total/count}')break、continue和else语句——continue语句运行结果如下:请输入销售量:236请输入销售量:126请输入销售量:34请输入销售量:58请输入销售量:0平均产品的销售量为113.5break、continue和else语句——else语句while语句和for语句的后边还可以带有else语句,用于处理循环结束后的“收尾”工作。else语句的语法格式主要有如下两种语法格式:(1)语法格式1:while条件表达式:循环体else:else子句代码块break、continue和else语句——else语句(1)语法格式2:for迭代变量in序列或迭代对象:循环体else:else子句代码块else子句是可选的。如果有else子句,则当循环因为条件表达式不成立或序列遍历完毕而自然结束时,就会执行else子句的代码。如果有else子句,但是循环是因为执行了break语句而导致提前结束的,则不会执行else子句的代码。break、continue和else语句——continue语句

total=0count=0num=int(input("请输入产品销售量:"))whilenum>0:total+=numcount+=1num=int(input("请输入产品销售量:"))else:ifcount>0:print(f'该部门每月平均销售量为{round(total/count)}。')【例2-11】某部门为分析每月的产品销售量,先连续输入各个月份的产品销售量,以输入0或者负数来结束输入,并输出最终的平均产品销售量。实现代码如下:break、continue和else语句——continue语句运行结果如下:请输入产品销售量:873请输入产品销售量:765请输入产品销售量:672请输入产品销售量:0该部门每月平均销售量为770。pass语句在Python中还有一个pass语句,表示空语句,它将不做任何事情,—般起到占位作用,用于保持程序结构的完整性。有时候程序需要占一个位置,或者放一条语句,但又不希望这条语句做任何事情,此时就可以通过pass语句来实现。使用pass语句比使用注释更加优雅。【例2-12】投资者需要根据股票价格的变化来判断是否买入或卖出。手动分析股票价格波动既耗时又容易出错。因此,编写一个简单的Python脚本,自动分析股票价格波动并给出交易建议。pass语句(1)应用需求股票价格输入:输入多只股票的价格数据。每只股票的价格数据包括多个时间点的价格。(2)波动性分析对每只股票,分析价格波动情况。如果价格波动过大,提示“价格波动过大,建议观望”。如果价格波动较小,提示“价格波动较小,建议买入”。(3)逻辑跳过使用pass语句跳过某些暂时不需要处理的逻辑。pass语句

#输入股票数量num_stocks=int(input("请输入股票数量:"))forstockinrange(num_stocks):print(f"\n分析第{stock+1}只股票:")#输入股票价格print("请输入股票价格(输入0结束):")price=float(input("价格:"))#初始化变量prev_price=pricevolatility=0#波动性whileprice!=0:实现代码如下:pass语句

#计算价格波动ifprev_price!=0:volatility=(price-prev_price)/prev_price*100print(f"价格波动:{volatility:.2f}%")#判断波动性ifvolatility>10:print("价格波动过大,建议观望")实现代码如下:pass语句

elifvolatility<-10:print("价格波动过大,建议观望")else:print("价格波动较小,建议买入")#暂时跳过某些逻辑passprev_price=priceprice=float(input("价格:"))print("股票价格输入结束")实现代码如下:pass语句请输入股票数量:2分析第1只股票:请输入股票价格(输入0结束):价格:100价格波动:0.00%价格波动较小,建议买入价格:120价格波动:20.00%价格波动过大,建议观望价格:130价格波动:8.33%价格波动较小,建议买入价格:0股票价格输入结束分析第2只股票:请输入股票价格(输入0结束):价格:200价格波动:0.00%价格波动较小,建议买入价格:190价格波动:-5.00%价格波动较小,建议买入价格:180价格波动:-5.26%价格波动较小,建议买入价格:0股票价格输入结束运行结果如下:结构化模式匹配语句Python3.10中新增了一个结构化模式匹配语句match-case,类似于其他语言如C语言switch-case,它可以方便地匹配想要的内容,可以部分替代if-elif-else多分支语句,减少代码。match-case结构在多种场景下都能发挥巨大作用,常见典型的应用场景:状态机处理:在处理状态机时,需要根据当前状态执行不同的操作。使用match-case结构可以方便地根据状态进行条件判断,并执行相应的操作。类型判断:在处理不同类型的数据时,可能需要根据数据类型执行不同的操作。match-case结构可以方便地根据数据类型进行匹配,并执行相应的代码块。协议实现:在实现某种协议时,需要根据协议的不同字段进行不同的处理。match-case结构可以方便地根据字段的值进行匹配,并执行相应的操作。模式匹配:当需要根据特定的模式进行匹配时,可以使用match-case结构结合正则表达式等模式匹配方式来实现。结构化模式匹配语句match-case语句语法格式如下:match变量名:casepattern1:语句块1casepattern2:语句块2…case_:语句块n功能:将变量的值依次匹配case后面的模式,寻找到第一个匹配的模式则结束匹配,执行对case块内的语句;如果没有匹配的模式,则执行case_块内的语句。注意,最后一个case语句与“_”之间有空格。结构化模式匹配语句【例2-13】在电商或物流管理中,订单会经历多个状态,如已接收、处理中、已发货、已送达、已取消等。使用match-case结构可以根据订单的当前状态快速匹配并执行相应的处理逻辑。实现代码如下:

#订单状态处理案例order_status=input("请输入订单当前状态(received/processing/shipped/delivered/canceled):")matchorder_status:case"received":print("订单已接收,正在准备处理。")#执行接收订单后的操作,如库存预留、通知仓库等case"processing":print("订单正在处理中,请耐心等待。")#执行订单处理中的操作,如更新进度、检查库存等case"shipped":print("订单已发货,物流信息已更新。")结构化模式匹配语句

#订单状态处理案例order_status=input("请输入订单当前状态(received/processing/shipped/delivered/canceled):")matchorder_status:case"received":print("订单已接收,正在准备处理。")#执行接收订单后的操作,如库存预留、通知仓库等case"processing":print("订单正在处理中,请耐心等待。")#执行订单处理中的操作,如更新进度、检查库存等case"shipped":print("订单已发货,物流信息已更新。")结构化模式匹配语句运行结果如下:请输入订单当前状态(received/processing/shipped/delivered/canceled):received订单已接收,正在准备处理。此外,match-case还可以使用逻辑或符号“|”实现多条件匹配,例如,“casepatern_1|pattern_2|pattern_3|…”,如同“if条件1or条件2or条件3…”。结构化模式匹配语句【例2-14】投票表决器:要求设计一个投票表决器,其功能是:输入Y、y,打印agree。输入N、n,打印disagree。输入其他,打印lose。

result=input('请输入你的投票意向:')matchresult:case'y'|'Y':print('agree')case'n'|'N':print('disagree')case_:print('lose')结构化模式匹配语句运行结果如下:请输入你的投票意向:yagreematch-case语句不仅可以匹配数字、字符串、列表、字典、元组等不同的数据类型,而且支持通配符匹配。程序的错误与异常处理1.程序的错误与处理Python程序的错误通常可以分为三种类型,即语法错误、运行时错误和逻辑错误。(1)语法错误Python程序的语法错误是指其源代码中拼写语法错误,这些错误导致Python编译器无法把Python源代码转换为字节码,故也称之为编译错误。程序中包含语法错误时,编译器将显示SyntaxError错误信息。通过分析编译器抛出的运行时错误信息,仔细分析相关位置的代码,可以定位并修改程序错误。程序的错误与异常处理——程序的错误与处理(2)运行时错误Python程序的运行时错误是在解释执行过程中产生的错误。例如,如果程序中没有导入相关的模块(例如importrandom)时,解释器将在运行时抛出NameError错误信息;如果程序中包括零除运算,解释器将在运行时抛出ZeroDivisionError错误信息;如果程序中试图打开不存在的文件,解释器将在运行时抛出FileNotFoundError错误信息。通过分析解释器抛出的运行时错误信息,仔细分析相关位置的代码,可以定位并修改程序错误。(3)逻辑错误P

温馨提示

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

评论

0/150

提交评论