一、旧税率表与新税率表比较

  以前起征点是3500,2018年10月1日起起征点正式修改为5000,下面我们用Python来分别计算新旧个人所得税分别为多少?

二、旧的个人所得税

import sys
import bisectdef old_tax(salary):if salary < 3500:return 0.0above = salary - 3500ranges = [0,1500,4500,9000,35000,55000,80000]rate = [0.03,0.1,0.2,0.25,0.30,0.35,0.45]i = bisect.bisect_left(ranges, above)j = 0tax = 0.0while j < i:if j+1 < i:tax += (ranges[j+1]-ranges[j]) * rate[j]else:tax += (above - ranges[j]) * rate[j]j += 1return tax

三、新的个人所得税

def new_tax(salary):if salary < 5000:return 0.0above = salary - 5000ranges = [0,3000,12000,25000,35000,55000,80000]rate = [0.03,0.10,0.20,0.25,0.30,0.35,0.45]i = bisect.bisect_left(ranges, above)j = 0tax = 0.0while j < i:if j+1 < i:tax += (ranges[j+1]-ranges[j]) * rate[j]else:tax += (above - ranges[j]) * rate[j]j += 1return tax

四、少交多少税?

  主函数:

if __name__ == "__main__":if(len(sys.argv)) < 2:print("Usage:{} <salary>".format(sys.argv[0]))sys.exit(1)salary = float(sys.argv[1])old_tax = old_tax(salary)new_tax = new_tax(salary)print("old:{}, new:{}".format(old_tax, new_tax))

  把上述代码保存在tax.py文件中,利用cmd进行打开计算可以得到:

五、其他

1.bisect模块中的bisect_left(L,x)函数可以返回x在L中应该插入的位置;

2.sys.argv可以实现外部传递参数,其中sys.argv[0]是脚本的名字,1,2...则为传递的参数。


END 2018-11-01 23:05:12

转载于:https://www.cnblogs.com/hider/p/9893262.html

Python学习笔记:个税起征点上调至5000,算一算少交多少税?相关推荐

  1. python输入个人所得税计算_个税起征点上调至5000,用Python算一算少交多少税

    原标题:个税起征点上调至5000,用Python算一算少交多少税 今天出了一个重磅消息,个税起征点从3500上调到5000啦! 广大IT农民工的生活压力又减轻了一些,有没有 晚上加一个鸡腿,要不要~ ...

  2. 新版个人所得税计算python_个税起征点上调至5000,用Python算一算少交多少税

    今天出了一个重磅消息,个税起征点从3500上调到5000啦! 广大IT农民工的生活压力又减轻了一些,有没有 晚上加一个鸡腿,要不要~ 开心归开心,我们来用Python算一算,新的规则下,我们需要交多少 ...

  3. 个税起征点上调至5000,用Python算一算能留下多少私房钱

    个税起征点从3500上调到5000啦! 开心归开心,我们来用Python算一算,新的规则下,我们需要交多少税,比原先少交多少税.最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建 ...

  4. 个税起征点上调,你每月能省多少?最后还有点凉水

    原文:https://mp.weixin.qq.com/s/Hc7jQuKnhRxvRajuzj7m4A 除了工资啥都在涨的时代,终于迎来了一个好消息,个税征收点终于提高了! 喜大普奔啊. 当然了,这 ...

  5. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  6. python学习笔记之编写readConfig读写配置文件

    python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客

  7. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  8. Python学习笔记一简介及安装配置

    Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...

  9. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

最新文章

  1. 老码农绝密:使用 TS(TypeScript) 的 10 大理由
  2. apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序
  3. BIM技术在各阶段应用的软件你知多少?
  4. HTTPS 的工作原理
  5. lvs为何不能完全替代DNS轮询--转
  6. 网络排错模型之我见----模型,基线,协议,数据包
  7. excel字符串反转
  8. 如何帮助金融客户“用好云”?
  9. leetcode —— 面试题 04.03. 特定深度节点链表
  10. php函数 chm,php函数手册chm最新
  11. 鸿蒙测试版苹果,华为鸿蒙OS 2.0开发者Beta新增招募 苹果macOS 11.4测试版发布
  12. 提示microsoft incremental linker已停止工作解决方法
  13. Android 动态调试和JEB启动调试命令
  14. 清理redis集群的所有数据
  15. linux中MIB与MB单位的区别
  16. 切比雪夫不等式与马尔可夫不等式
  17. c语言二次方程的实根,C程序求二次方程的根
  18. Shaderlab 玻璃效果
  19. 刘强东深夜发文:京东物流去年亏损超过28亿,再亏融资只够撑两年
  20. 鼠标右键“新建”选项没没有如何解决?

热门文章

  1. 艾兰岛编辑器-路径点
  2. 卫星伪距定位matlab,GPS卫星运动及定位matlab仿真.doc
  3. 搜索引擎收录提交入口
  4. 【正点原子FPGA连载】第二十七章DS18B20数字温度传感器实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  5. android+模拟人体扫描,人体模型模拟器app
  6. cmd操作MySQL 多表查询(日记 day 4)
  7. 小谈Intel SGX
  8. uni-app 页面组件生命周期
  9. IMS-FACNN(Improved Multi-Scale Convolution Neural Network integrated with a Feature Attention Mecha
  10. 自己动手做一款蓝牙小车