查看原文
其他

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

shenzhongqiang Python爱好者社区 2019-04-07

点击上方图片抢购全场5折优惠课程


作者:强哥,现供职于一家大型全球电子商务网站,多年Python程序员,热爱数据,热爱AI,希望能与更多同业人交流。

个人公众号:Python与数据分析


今天出了一个重磅消息,个税起征点从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元。

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

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



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

今日4折优惠课程,扫码下图立即抢购

阅读原文加入SVIP免费学习以上课程

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存