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

简介:

aaf6adf5de9c7f99368ad5f5103d634d91da1bc7

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

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

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

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

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

8e75df1fe50e1efd0e5ab904a6b2252c0428823d

这次调整的是免征额,之前是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元。

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

相关文章
|
SQL Oracle 前端开发
提高工作效率的万能Java行列转换工具类
提高工作效率的万能Java行列转换工具类
459 0
|
C# 对象存储
C#上传阿里云OSS工具类AliOSSTool
C#上传阿里云OSS工具类AliOSSTool
602 0
|
人工智能 机器人
“AI+儿童陪伴”,是噱头还是趋势?
AI陪伴型玩具逐渐成为家庭教育的新选择。它们不仅能够解放忙碌的家长,减轻其负担,还能满足孩子的好奇心,提供寓教于乐的成长环境。然而,AI技术尚未完全成熟,内容的准确性和产品的安全性仍需关注,家长在享受便利的同时,仍需谨慎陪伴。
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
430 3
|
SQL NoSQL Go
怎么用redigo操作redis?
本文介绍了使用Go语言的`redigo`库操作Redis数据库的方法。`redigo`支持Redis的所有命令,可通过`go get github.com/gomodule/redigo/redis`安装。文章详细讲解了如何建立Redis连接、执行基本的字符串操作(如设置与获取键值)、设置键值过期时间、判断键值是否存在等,并进一步演示了对Redis的数据结构如List、Set、Hash及ZSet的操作方法。此外,还提供了使用连接池以提升性能的示例。值得注意的是,`redigo`自身并不支持Redis集群功能,如需使用需引入额外的库。
223 1
|
人工智能 弹性计算 对象存储
通义万相AI绘画创作方案:创新艺术的数字化画布
在数字化艺术创作的浪潮中,通义万相AI绘画创作方案以其强大的图像生成能力,为艺术家和设计师提供了一个全新的创作平台。本文将从部署体验、功能亮点、用户反馈以及改进建议等方面,全面评测这一创新方案。
|
运维 关系型数据库 分布式数据库
【云故事探索】NO.3:智慧出行,云思妙想,看享道出行如何打造智能交通新业态
享道出行运维总监曹亚娟分享了公司如何利用云计算实现创新和发展。作为上汽集团的移动出行品牌,享道出行在阿里云的帮助下,仅用5天完成核心业务搬栈,成为首个使用阿里云PolarDB的大型出行平台。通过深度合作,双方在移动支付等多领域融合,构建全场景智慧出行体验。企业认识到释放云潜力需超越传统IT模式,通过预测算法和Serverless架构优化,提升效率并降低成本。未来,享道出行与阿里云将持续合作,引领移动出行行业的智能化发展。
|
缓存 网络协议 网络安全
BACnet初学者教程,第二章:BACnet/IP的一些基本设计标准
BACnet初学者教程,第二章:BACnet/IP的一些基本设计标准
226 0
|
数据安全/隐私保护 C++
C++ 构造函数实战指南:默认构造、带参数构造、拷贝构造与移动构造
C++中的构造函数是特殊成员函数,用于对象初始化。类型包括默认构造函数(无参数)、带参数构造函数、拷贝构造函数和移动构造函数。默认构造函数设置对象默认状态,带参数构造函数允许传递初始化值。拷贝构造函数复制已有对象,移动构造函数高效转移资源。构造函数的访问权限可控制为public、private或protected。理解构造函数有助于编写健壮的C++代码。关注公众号`Let us Coding`获取更多内容。
344 0
|
机器学习/深度学习 传感器 自动驾驶
【计算机视觉】一、多任务深度学习网络的概念及在自动驾驶中的应用讲解(图文解释 超详细)
【计算机视觉】一、多任务深度学习网络的概念及在自动驾驶中的应用讲解(图文解释 超详细)
278 0
下一篇
oss云网关配置