Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果。

例如 : 1 if True else 0 输出 1 ,1 if False else 0 输出 0

很简单。

下面我们利用这个三元表达式来解决Odoo中保险计算的问题。

由于国内公司投保时通常要考虑员工的户口类型问题,我们在系统中本地化了这么一个字段叫做e_hukou_locaiton,它有两个值,一个urban ,一个rural.

那么我们就可以在工资规则中新创建一条规则,然后条件选总为真,在计算的框里填入下面的计算公式:

1 result = employee.e_ss_base * 0.105 if employee.e_hukou_location=='urban' else employee.e_ss_base * 0.10

其中employee.e_ss_base是社保基数,这样的话既可以通过一条公式来计算出城镇员工和农村员工的社保金额了,而不必在分别为其创建对应的工资规则。

转载于:https://www.cnblogs.com/kfx2007/p/4514646.html

利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题相关推荐

  1. python之三元表达式嵌套三元表达式解析

    python的三元表达式相信学过python的朋友都会.但是大部分学python的朋友不知道的是三元表达式还可以嵌套三元表达式. 请看代码案例: cmp = lambda a, b: 0 if a = ...

  2. 利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只。

    利用Python语言编程,解决鸡兔同笼问题,已知同一个笼子里鸡和兔总共有h只,鸡和兔的脚数总共有f只,其中h和f需要用户输入,求鸡和兔各有多少只. 提示:利用循环,采用枚举法. 要求:当输入的h和f没 ...

  3. 关键词数量统计python_利用python统计《十九大报告》中的关键词和词频

    利用python统计<十九大报告>中的关键词.报告摘要和词频.引用snowNLP.得到的结果: 1.关键词: 前五个关键词为 ['发展', '人民', '中国', '党', '建设'] 2 ...

  4. Python学习 Day8-2 python的三元表达式(三目运算符)、lambda表达式、内置函数

    Python中的三元表达式(三目运算符) 语法:为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号) >>print(1 if 5 > 3 else 0) 1 Py ...

  5. 冰与火之歌:Python的三元表达式

    我不知道为什么,Python这么优雅的语言居然不支持三元运算符,也就意味着无法像C语言一样直接使用conditon?a:b来返回a或b.我感觉我对Python的喜爱受到了挑战.我不喜欢这种感觉.经过上 ...

  6. Python基础-----三元表达式、列表解析、生成器表达式

    三元表达式: 变量 = 值1 if 条件为真 else 值2 类似于: res = '对了' if 1 > 2 else '错了' print(res) >>> '错了' 普通 ...

  7. 六、Python之三元表达式、列表推导式、生成器表达式

    1.三元表达式 #example1 x = 10 y = 20 res = x if x > y else y print(res) #example2 name = 'abc' res = ' ...

  8. 利用python和boto3包从amazon s3 bucket中下载数据

    前言 本文主要介绍利用python从amazon s3 bucket下载数据集 步骤 前提 在下载数据集之前,你得知道该数据的bucket,这个单词的意思是桶,水桶也是这个词,也就是说得知道你要得数据 ...

  9. 利用Python爬虫网站数据直接导入mysql数据库中

    说明: 可能经常出现要爬取某个网站的数据,这时候需要利用爬虫技术来完成,这块主要使用Python来实现. 如何搭建Python环境我上节文章有详细描述:使用Python3.7实现爬虫技术,获取自己想要 ...

最新文章

  1. /xiaolei.php|martin_十步解决Php Utf-8编码(转贴)
  2. 三值网络--Trained Ternary Quantization
  3. C# 程序打包成安装项目
  4. YUV422/420 format
  5. 牛客题霸 [顺时针旋转矩阵] C++题解/答案
  6. 力扣合并两个有序数组
  7. VC2010运行C程序时黑框一闪就没
  8. 第 22 章 备忘录模式
  9. Mac下安装Fiddler抓包工具(别试了,会报错,没办法使用)
  10. 对自己编译的文件(exe/dll)进行签名的实践(Windows)
  11. js map遍历 修改对象里面的值_前端面试之你必须要懂的原生JS
  12. 华为交换机S3700基本配置
  13. 使用OpenCore引导黑苹果
  14. netbean的安装及jdk安装和环境变量设置
  15. 别只盯着LoRa、SigFox, LPWAN 连接技术还有这些!
  16. 训练计划安排(练一休一训练分化+倒金字塔训练法)【了解即可,一般人容量不用练一休一,看抖音@孙悟饭桶】
  17. ArcGIS Engine10.0轻松入门级教程(1)——必备基础知识
  18. excel删除重复的行
  19. Windows下MySQL8安装教程
  20. 22款奔驰C260L升级原厂360全景影像 倒车更加直观

热门文章

  1. Java-----instanceof、isInstance、isAssignableFrom
  2. aspnetpager分页,不使用存储过程
  3. linux下安装QQ(转载)
  4. CentOS 6.3开机自动挂载磁盘和文件夹
  5. 配置SpringCloud Config Client连上Config Server
  6. linux内核kfifo(一)
  7. 用计算机算出90除以6.28,用计算器计算:sin51°30′+ cos49°50′-tan46°10′的值是 .——青夏教育精英家教网——...
  8. c语言程序设计实验教学,C语言程序设计实验教学改革研究
  9. python 做个创越火线挂_一日一技:用Python做个能挂墙上的大钟表
  10. 从零开始单排学设计模式「策略模式」黑铁 II