社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

个税起征点上调至5000,用Python算一算少交多少税

一个普普通通简简单单平平凡凡的神 • 8 年前 • 916 次点击  

今天出了一个重磅消息,个税起征点从3500上调到5000啦!

广大IT农民工的生活压力又减轻了一些,有没有

晚上加一个鸡腿,要不要~

开心归开心,我们来用Python算一算,新的规则下,我们需要交多少税,比原先少交多少税。

下面的这张表是税率表,这是对超过免征额部分的收入征收的税率


这次调整的是免征额,之前是3500,现在是5000,税率部分没有发生变化。

我们用Python来写两个程序,一个计算旧的工资所得税,一个计算新的工资所得税。

下面的函数old_tax用来计算旧的所得税

import sys 
import bisect

def old_tax(salary):
   if salary < 3500:
       return 0.0

   above = salary - 3500

   ranges = [0, 1500, 4500, 9000, 35000, 55000, 80000]
   rate =   [.03, .1,  .2,  .25,  .30,   .35,   .45]
   i = bisect.bisect_left(ranges, above)
   j = 0
   tax = 0.0
   while j < i:
       if j+1 < i:
           tax += (ranges[j+1]-ranges[j]) * rate[j]
       else:
           tax += (above-ranges[j]) * rate[j]
       j += 1

   return tax


下面的函数new_tax用来计算新的所得税

def new_tax(salary):
   if salary < 5000:
       return 0.0

   above = salary - 5000

   ranges = [0, 1500, 4500, 9000, 35000, 55000, 80000]
   rate =   [.03, .1,  .2,  .25,  .30,   .35,   .45]
   i = bisect.bisect_left(ranges, above)
   j = 0
   tax = 0.0
   while j < i:
       if j+1 < i:
           tax += (ranges[j+1]-ranges[j]) * rate[j]
       else:
           tax += (above-ranges[j]) * rate[j]
       j += 1

   return 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中。

接下来,我们来用tax.py算一算不同工资水平的个税

python3 tax.py 5000
old: 45.0, new: 0.0

每月5000元的工资,以前要交45元的个税,起征点上调到5000后,就不用交税了。


python3 tax.py 


    
10000
old: 745.0, new: 445.0

每月10000元的工资,以前要交745元的个税,现在只要445元,比原先少交300元。


python3 tax.py 20000
old: 3120.0, new: 2745.0

每月20000元的工资,以前要交3120元的个税,现在交2745元,比原先少交375元。


python3 tax.py 50000
old: 11195.0, new: 10745.0

每月50000元的工资,以前要交11195元的个税,现在交10745元,比原先少交450元。


python3 tax.py 100000
old: 29920.0, new: 29245.0

每月10万元的工资,以前要交29920元的个税,现在交29245元,比原先少交675元。

大家可以复制一下代码,算算自己可以少交多少税。

对了,月薪十万以上的朋友,麻烦联系一下强哥,我们交个朋友~

欢迎点赞、分享,你们的分享是我原创的动力~

欢迎关注Python与数据分析


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ikcaScGslF
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/13828