大数据技术在财务中的应用Python版 课件 任务2.3 Python流程控制语句_第1页
大数据技术在财务中的应用Python版 课件 任务2.3 Python流程控制语句_第2页
大数据技术在财务中的应用Python版 课件 任务2.3 Python流程控制语句_第3页
大数据技术在财务中的应用Python版 课件 任务2.3 Python流程控制语句_第4页
大数据技术在财务中的应用Python版 课件 任务2.3 Python流程控制语句_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

引入案例任务分析知识解析案例解析任务实训实训评价2.3.1条件语句2.3.2循环语句2.3.3列表推导式及zip()函数任务2.3Python流程控制语句任务2.3Python流程控制语句引入案例在会计工作中,当利用Python程序进行处理时,很多程序会使用条件判断语句,比如:(1)判断商业折扣、现金折扣的多少;(2)资产是否减值;(3)判断库存现金是否超限额等。当然,会计工作多是周而复时地做同样的工作,比如固定资产计提折旧、预算的编制等,像这些工作利用Python的循环控制语句进行处理,可以极大的提高工作效率。任务2.3Python流程控制语句任务分析Python流程控制语句有3种,最简单的程序结构是顺序结构,即一条一条顺序执行的代码,但是有一些程序并不按顺序执行,这种情况称为“控制转移”,它涉及另外两类程序控制结构,即选择结构和循环结构。选择结构通过if条件语句实现,而循环结构通过for语句和while语句实现。美创科技有限公司有一固定资产原价为100000元,预计使用年限为5年,预计净残值10%,按平均年限法计算折旧,截止年初累计折旧为85000元,要求计算未来12个月的折旧额。美创科技有限公司财务人员小王如何利用Python语言实现呢?知识解析任务2.3Python流程控制语句2.3.1条件语句人们常常根据不同的情况来决定执行不同的任务,例如:根据是否下雨决定做公交车还是骑自行车,根据业绩完成的情况决定发放奖金的多少。在Python中实现上述条件的选择是通过if语句实现的。一、单分支语句(简单的if语句)单分支语句,又称为简单的if语句,其语法格式如下:if条件表达式:

语句块对语法格式的说明如下:(1)条件表达式:形式不限,可以是一个单一的数值或者变量,也可以是由运算符组成的复杂语句或者函数,只要它能得到一个值就行。这个数值最终表现为True或False,Ture代表满足条件,False代表不满足条件。(2)语句块:由具有缩进相同的若干条语句组成,一般缩进4个空格或者一个Tab健。if语句在执行时,首先对条件表达式进行判定,如果条件表达式为真(条件成立),就执行后面的代码块;如果条件表达式为假(条件不成立),语句块就会被跳过,什么也不执行。单分支语句的控制流程图如下所示。任务2.3Python流程控制语句【做中学2.3.1】企业以年收入作为业绩是否达标的条件,年收入超过1000万元,则输出业绩达标。若企业今年收入1500万元,请判断业绩是否达标。#创建变量income存储年收入income=1500#对年收入进行判断ifincome>1000:print('业绩达标')业绩达标【做中学2.3.1】程序如下:在Python中,if-else语句形成双分支结构,其语法格式如下:

if条件表达式:语句块1else:语句块2二、双分支语句(if-else语句)任务2.3Python流程控制语句该语句在执行时,首先对条件表达式进行判定,如果条件表达式成立,就执行if后面紧跟的语句块1;如果条件表达式不成立,就执行else后面紧跟的语句块2。if-else语句形成的双分支控制流程如右图所示。任务2.3Python流程控制语句【做中学2.3.2】若企业以年收入作为业绩是否达标的条件,年收入超过1000万元,则输出业绩达标;收入未超过1000万元,则输出业绩不达标。请根据用户输入的年收入判断企业业绩是否达标。#创建变量income接收收入值income=float(input('营业收入的值:'))#利用条件语句进行判断ifincome>1000:print('业绩达标')else:print('业绩不达标')营业收入的值:1200

业绩达标请注意【做中学2.3.2】程序如下:else与冒号(:)之间没有条件表达式。三、多分支语句(if-elif-else语句))任务2.3Python流程控制语句多分支在执行时,Python会从上到下逐个判断条件表达式是否成立,一旦遇到某个条件成立,就执行后面紧跟的语句块。此时,不管后面的表达式是否成立,剩下的代码就不再执行了。如果所有的条件都不成立,就执行else后面的代码块。总之,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支。else子句是可选的,并不是必须的。任务2.3Python流程控制语句【做中学2.3.3】企业销售人员的工资由两部分组成:一部分是基础工资,每月3000元;另一部分是奖励性工资,由月销售额决定,具体如下表所示。销售人员小李本月销售额为14000,请计算小李本月工资并打印输出。#创建变量并赋值月销售额sale=14000#条件判断语句ifsale>15000:bonus=sale*0.25elifsale>5000:bonus=sale*0.2else:bonus=0#计算本月工资总额并打印输出income=3000+bonusprint('小李本月工资为:',income)小李本月工资为:5800.0【做中学2.3.3】程序如下:2.3.2循环语句一、while循环语句任务2.3Python流程控制语句这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。while语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块……如此循环,直到条件表达式的值为假(False),才终止循环。while语句是常见的循环语句,它由三个要素组成,分别是循环变量的初始化、循环条件表达式、循环变量的修改(向着循环结束的方向改变)。while语句的语法格式如下:

while条件表达式:代码块任务2.3Python流程控制语句【做中学2.3.4】使用while循环语句,打印数字0~5。i=0#初始化循环控制变量whilei<6:#设置循环条件表达式

print(i,end="")#打印输出变量i的值,不换行i+=1#循环变量i的修改,使得循环条件不会永远成立012345请注意:缺少循环变量的修改或条件表达式永远满足(比如:while1=1)会引起死循环。【做中学2.3.4】程序如下:【做中学2.3.5】公司制定未来五年的营业收入目标,第一年营业收入是300万,以后每年营业收入比上年增加10%,请打印输出未来五年每年营业收入目标值,结果保留两位小数。i=0#初始循环控制变量whilei<5:#设置循环条件表达式sale=3000000*(1+0.1)**iprint('第%s年的营业收入目标为%.2f元'%(i+1,sale))

i=i+1#修改循环变量【做中学2.3.5】程序如下:第1年的营业收入目标为3000000.00元第2年的营业收入目标为3300000.00元第3年的营业收入目标为3630000.00元第4年的营业收入目标为3993000.00元第5年的营业收入目标为4392300.00元二、for循环语句任务2.3Python流程控制语句在语法格式中,循环变量用于存放从可迭代对象中读取出来的元素,所以一般不会在循环中对循环变量手动赋值;语句块是指具有相同缩进格式的一行或多行代码,由于和循环结构联用,故此语句块又叫循环体。可迭代对象,可以是字符串、列表、元组、字典、集合或range函数等。for循环又称遍历循环,是因为for语句的循环次数是根据可迭代对象中元素的个数确定的,可以理解为从可迭代对象中逐一提取元素,然后放在循环变量中,对于所提取的每一个元素执行一次语句块。Python中的for循环语句,它常用于遍历字符串、列表、元组、字典、集合等可迭代对象,逐个获取可迭代对象中的每个元素。for循环语句的语法格式如下:

for循环变量in可迭代对象:语句块任务2.2Python数据类型常见遍历结构的for语句格式格式说明foriinrange(1,6):遍历数值序列1,2,3,4,5foriinlist1:遍历列表list1中每个元素foriindict1:遍历字典dict1中每个元素的键foriindict1.keys():遍历字典dict1中每个元素的键foriindict1.values():遍历字典dict1中每个元素的值foriindict1.items():遍历字典dict1中每个元素的键值对任务2.3Python流程控制语句【做中学2.3.6】创建列表list1=['营业成本','营业收入','毛利'],创建字典dict1={'营业收入':300000,'营业成本':150000,'毛利':150000},使用for循环语句进行遍历。list1=['营业成本','营业收入','毛利']foriinlist1:print(i)print('------分割线-------')foriinrange(0,3):print(list1[i])print('------分割线-------')dict1={'营业收入':300000,'营业成本':150000,'毛利':150000}foriindict1:print(i)营业成本营业收入毛利------分割线-------营业成本营业收入毛利------分割线-------营业收入营业成本毛利【做中学2.3.6】程序如下:在执行while循环或者for循环时,只要循环条件满足,程序将会一直执行循环体。但在某些场景,我们可能希望在循环结束前就强制结束循环,Python提供了2种强制离开当前循环体的办法:①使用continue语句:可以跳过执行本次循环体中剩余的代码,转而执行下一次的循环;②使用break语句:可以完全终止当前循环。三、循环跳转语句任务2.3Python流程控制语句1.break语句无论是while循环还是for循环,只要执行break语句,就会立即结束当前正在执行的循环体,终止当前循环的执行,跳出当前所在的循环结构。如果该break语句在嵌套循环内(另一个循环内的循环),则该break语句将终止最里面的循环。break语句流程控制如右图所示。任务2.3Python流程控制语句【做中学2.3.7】某公司的2021年前四个月营业成本为13.3万元、12万元、16.1万元、17万元,请使用for循环与break筛选出营业成本在16万元以上的第一个月。#创建字典cost接收1-4月营业成本cost={'1月':13.3,'2月':12,'3月':16.1,'4月':17}foriincost:ifcost[i]>16:print(i)break3月【做中学2.3.7】程序如下:2.continue语句continue语句用法和break语句类似,只需要在相应的while或者for语句中加入即可。continue语句通常情况下,会结合if语句进行搭配使用,表示在某种条件下,跳过当前循环的剩余语句,然后继续进行下一轮循环。如果使用嵌套循环,则continue语句将只跳出最内层循环中的剩余语句。任务2.3Python流程控制语句【做中学2.3.8】某公司2021年前四个月营业成本分别为13.3万元、12万元、16.1万元、14万元,请使用for循环与continue筛选出营业成本在13万元以上的所有月份。#创建字典cost接收1-4月营业成本cost={'1月':13.3,'2月':12,'3月':16.1,'4月':14}foriincost:ifcost[i]<13:continueprint(i)1月3月4月【做中学2.3.8】程序如下:2.3.3列表推导式及zip()函数使用列表推导式可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。列表推导式常用的语法格式如下:列表名=[表达式for变量in可迭代对象]或者:列表名=[表达式for变量in可迭代对象if条件判断]任务2.3Python流程控制语句importrandom#导入random标准库randomnumber=[random.randint(10,100)foriinrange(10)]print("生成的随机数为:",randomnumber)生成的随机数为:[32,90,100,22,76,70,100,41,87,71]price=[1200,5330,2988,6200,1998,8888]sale=[int(x*0.5)forxinprice]print("原价格:",price)print("打五折的价格:",sale)原价格:[1200,5330,2988,6200,1998,8888]打五折的价格:[600,2665,1494,3100,999,4444]price=[1200,5330,2988,6200,1998,8888]sale=[xforxinpriceifx>5000]print("原列表:",price)print("价格高于5000的:",sale)原列表:[1200,5330,2988,6200,1998,8888]价格高于5000的:[5330,6200,8888]【做中学2.3.9】使用列表推导式生成如下列表:(1)要生成一个包含10个随机数的列表,要求数的范围是10~100;(2)定义一个记录商品价格的列表,然后应用列表推导式生成一个将全部商品价格打五折的列表;(3)定义一个记录商品价格的列表,然后应用列表推导式生成一个商品价格高于5000的列表。【做中学2.3.9】程序如下:zip()函数以可迭代对象作为参数,将可迭代对象中对应位置的元素打包成一个个元组,返回一个zip对象,可转换为列表或元组。zip对象转换为列表的方法如下:使用列表推导式,通过for遍历取出zip对象存储的元组;通过list()函数将zip对象强制转换为列表。二、zip()函数任务2.3Python流程控制语句【做中学2.3.10】创建两个列表,一个用于存放会计科目,另一个用于存放余额,使用zip()函数打包并转化为列表。#创建列表account=['库存现金','银行存款','销售费用','管理费用']amount=[20000,100000,5000]#使用列表推导式对zip对象转换print([iforiinzip(account,amount)])#使用list函数zip对象转换list(zip(account,amount))【做中学2.3.10】程序如下:[('库存现金',20000),('银行存款',100000),('销售费用',5000)][('库存现金',20000),('银行存款',100000),('销售费用',5000)]请注意:当传入的可迭代对象中元素不一致时,以元素最短的对象为准进行打包。任务2.3Python流程控制语句案例解

温馨提示

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

评论

0/150

提交评论