前言:
当前姐妹们对“三元运算符和if语句的区别”大体比较讲究,姐妹们都想要学习一些“三元运算符和if语句的区别”的相关文章。那么小编同时在网络上收集了一些关于“三元运算符和if语句的区别””的相关内容,希望各位老铁们能喜欢,兄弟们一起来了解一下吧!引言:
学完上一章节,我们已经知道了会计数据的存储类型和支持的算法,本章节,我们将学习如何用python程序设计一个算法。设计算法的两个关键工具是条件判断和循环,接下来,我们将一一讲解。
如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的条件判断。不仅生活中有,在程序中“判断”功能也经常会用到。
01 if语句
if语句类似于语文中的如果...就...:“如果条件语句满足,就执行if语句下的代码块。”
if语法格式:
if 条件:条件成立时,要做的事情
我们来看两个例子:
year = 2019
# if判断开始
if year >=2019:
print('财务数据为2019及以后年度的数据')
#可以继续添加针对2019年后的数据的计算逻辑
# if判断结束
执行这段程序后,输出:'财务数据为2019及以后年度的数据'
year = 2018
# if判断开始
if year >=2019:
print('财务数据为2019及以后年度的数据')
#可以继续添加针对2019年后的数据的计算逻辑
# if判断结束
执行这段程序后,没有任何输出。
以上2个例子仅仅是year变量的值不一样,结果却不同;得出if判断语句的作用:当满足一定条件时才会执行那块代码,否则就不执行那块代码。
在财务数据计算中,经常用到的作为判断条件的变量有:年份、月份、公司、科目、报表项目、不同的公司属性等等。
注意:写if语句时,一定要对齐缩进。Python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的(一般以4个空格代表一次缩进),但是所有代码块语句必须包含相同的缩进空白数量。
02 else语句
if子句后面有时候也可以跟着else语句。当if语句的条件为False时,else子句就会执行。else语句读起来是:“如果条件为真,执行这段代码。否则,执行那段代码”。
语法格式:
if 条件:满足条件时要做的事情else:不满足条件时要做的事情
注意,else语句后不包含条件。
我们将上文的例子拓展一下:
year = 2019
if year >=2019:
print('财务数据为2019及以后年度的数据')
#可以继续添加针对2019年后的数据的计算逻辑
else:
print('财务数据为2019以前年度的数据')
#可以继续添加针对2019年前的数据的计算逻辑
执行这段程序后,输出:财务数据为2019及以后年度的数据。
year = 2018
if year >=2019:
print('财务数据为2019及以后年度的数据')
#可以继续添加针对2019年后的数据的计算逻辑
else:
print('财务数据为2019以前年度的数据')
#可以继续添加针对2019年前的数据的计算逻辑
执行这段程序后,输出:财务数据为2019以前年度的数据
以上2个例子也是year变量的值不一样,结果不同;但是不满足if条件并非无输出,而是运行了else下面的语句。得出else判断语句的作用:当不满足if语句条件时,会运行else子句。
插播:三元运算符
运算符中有一种三元运算符,与if...else语句具有相似的作用,这里也一并给大家介绍一下。
三元运算符格式:条件成立的值 if 条件 else 条件不成立的值。
举个例子来三元运算符和普通if的区别:如果a大于1的话,c=a,否则c=b
三元运算符写法:
c = a if a>1 else b
if的写法
if a >1:
c = a
else:
c = b
if else语句从4行变成了1行,是不是简单很多呢~~
03 elif语句
if...else为非此即彼的判断,但是有时候你面临许多的可能性判断,这个时候就要用到elif了。elif语句类似于语文中的“否则如果”,总是跟在if或另一条elif语句后面。它提供了另一个条件,仅在前面的条件为False时才检查该条件。
语法格式:
if 条件1:满足条件1时要做的事情elif 条件2:满足条件2时要做的事情elif 条件3:满足条件3时要做的事情else:不满足以上所有条件时要做的事情
我们还是举计算固定资产折旧的例子,已知固定资产原值10000元,类型为机器设备。该公司固定资产折旧政策:“类别为机器设备,折旧年限为10年,残值率为5%;类别为办公设备,折旧年限为3年,无残值;其他设备折旧年限5年,无残值”。
根据该案例背景设计计算固定资产每个月折旧额的算法。
#变量赋值
amount =10000
FAtype='机器设备'
#进行判断
if FAtype=='机器设备':
year=10
srate=0.05
elif FAtype=='办公设备':
year=3
srate=0
else:
year=5
srate=0
#计算公式
dep= amount*(1- srate)/ year /12
dep= round(amount*(1- srate)/ year /12,2)
#输出:每月折旧额为79.17
04 if嵌套
我们会发现某个判断是在另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?使用if嵌套就可完美解决。
语法格式:
if 条件1:满足条件1 做的事情if 条件2:满足条件2 做的事情elif/else:满足条件1但不满足条件2做的事情elif/else:不满足条件1 做的事情
上文的例子,修改“机器设备”类别的固定资产折旧政策为:“若原值大于10万,折旧年限为10年,残值率为5%,若原值小于10万,折旧年限为5年,残值率为3%”。那么算法可以这样设计:
#变量赋值
amount =10000
FAtype='机器设备'
#进行判断
if FAtype=='机器设备':
if amount>100000:
year=10
srate=0.05
else:
year=5
srate=0.03
elif FAtype=='办公设备':
year=3
srate=0
else:
year=5
srate=0
#计算公式
dep= round(amount*(1- srate)/ year /12,2)
print ('每月折旧额为', dep)
#输出:每月折旧额为161.67
课堂笔记
if用来对条件是否满足进行判断if有5种结构:if, if-else, if-elif, if-elif-else,if嵌套python中结构体由关键词和代码块缩进来控制结构的开始与结束
标签: #三元运算符和if语句的区别