前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python计算个人所得税

Python计算个人所得税

作者头像
stormwen
发布2019-08-15 17:56:16
3.5K0
发布2019-08-15 17:56:16
举报

阅读文本大概需要 3 分钟。

不知道大家有没有细心观察自己工资条上个人所得税呢?很多人都觉得有专门的个人所得税计算器,不用再去复查,但是有的黑心的公司专门利用这种心理,偶尔增加你的扣税额,为了方便大家核查自己的个人所得税,我用Python写了一个简单的个税计算器,大家可以核查下自己的扣税额。

1.怎么计算个人所得税?

个税计算器税率表

级数

当月应纳税所得额

税率(%)

速算扣除数

1

不超过1500元

3

0

2

超过1500元至4500元的部分

10

105

3

超过4500元至9000元的部分

20

555

4

超过9000元至35000元的部分

25

1055

5

超过35000元至55000元的部分

30

2755

6

超过55000元至80000元的部分

35

5505

7

超过80000元的部分

45

13505

对照个税税率表时,先计算出本月的应纳税所得额,再用此应纳税所得额与上表对照,就可以得到正确的税率和速算扣除数。

个人所得税的基数=应发工资-五险一金,若扣除五险一金后的余额<=3500,则不用缴纳个人所得税。

下面是五险一金的缴纳比例

缴纳项目

个人缴费比例%

单位缴费比例%

养老保险

8%

20%

医疗保险

2%

6-10%

失业保险

0.5-1%

1.5%

工伤保险

0.5-1.2%

生育保险

0.80%

公积金

10-12%

10-12%

例:应发工资-五险一金-3500=1600,则个税=1600*0.1-105=55;应发工资-五险一金-3500=5000,个税=5000*0.2-555=445。

2.具体代码实现

def calculator(salary):
    '''
    税后工资计算器
    '''
    point = 3500
    yanglao_rate = 0.08
    hospital_rate = 0.02
    losejob_rate = 0.01
    basemoney_rate = 0.2
    five_one_money = salary * (yanglao_rate + hospital_rate + losejob_rate + basemoney_rate)
    rest_money = salary - five_one_money - point
    res_money = salary - five_one_money
    if rest_money <= 1500:
        res_money -= rest_money * 0.03
    elif rest_money > 1500 and rest_money <= 4500:
        tax_money = rest_money * 0.1
        res_money -= (tax_money - 105)
    elif rest_money > 4500 and rest_money <= 9000:
        tax_money = rest_money * 0.2
        res_money -= (tax_money - 555)
    elif rest_money > 9000 and rest_money <= 35000:
        tax_money = rest_money * 0.25
        res_money -= (tax_money - 1005)
    elif rest_money > 35000 and rest_money <= 55000:
        tax_money = rest_money * 0.3
        res_money -= (tax_money - 2755)
    elif rest_money > 55000 and rest_money <= 80000:
        tax_money = rest_money * 0.35
        res_money -= (tax_money - 5505)
    else:
        tax_money = rest_money * 0.45
        res_money -= (tax_money - 13505)
    print('税前工资为:{0},税后工资为:{1}'.format(salary, res_money))


if __name__ == '__main__':
    # calculator(one_salary)
    salary_list = [10000, 14000, 15000, 16000, 18000, 25000, 80000, 100000]
    for one_salary in salary_list:
        calculator(one_salary)

3.结果展示

其实,这个小项目不仅可以用来核查自己的扣税额,对一些正找工作的小伙伴也很有用。找工作时避免不了会跟单位谈薪资,当然所有人跟你说的都是税前收入,税后的实际收入是多少,你自己心里应该清楚。

今天给大家介绍的这个小项目写的很简单,不同单位五险一金的缴纳比例可能存在差异,此外还会有一些其他的薪资方面的限制,这里只是简单举例说明,具体的参数或限制条件,如果大家感兴趣,可以自行加入。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档