以月收入1w,举例计算个税:

#!/usr/bin/python
#-*- encoding:UTF-8 -*-
#==============================================================================
#=========================Part1 需要手动填写数字
#==============================================================================
#收入项
#@标准工资
basic_salary=10000
#@加班工资
overtime_pay=0
#@补贴
night_snack_allowance=0 #扣款项,细则:养老保险、医疗保险、失业保险,由企业和个人共同缴纳;工伤保险、生育保险,由企业承担;
#@养老保险 8%
employee_retirement_insurance=800
#@医疗保险 2%
employee_medical_insurance=200
#@失业保险 1%
employee_unemployment_insurance=80
#@住房公积金 7%
employee_housing_fund=560 #==============================================================================
#=========================Part2 无需修改,除非个税征收方案变动
#==============================================================================
#@个人所得税 起征点3500
personal_income_tax_level=3500 #应纳税所得额=扣除“三险一金”后月收入 - 扣除标准3500
money_before_de_personal_income_tax = (basic_salary + overtime_pay + night_snack_allowance) - (employee_retirement_insurance + employee_medical_insurance + employee_unemployment_insurance + employee_housing_fund) - personal_income_tax_level #==个人所得税=应纳税所得额×适用税率 - 速算扣除数
#==全月应纳税所得额 税率 速算扣除数(元)
#1-全月应纳税所得额不超过1500元 3% 0
#2-全月应纳税所得额超过1500元至4500元 10% 105
#3-全月应纳税所得额超过4500元至9000元 20% 555
#4-全月应纳税所得额超过9000元至35000元 25% 1005
#5-全月应纳税所得额超过35000元至55000元 30% 2755
#6-全月应纳税所得额超过55000元至80000元 35% 5505
#7-全月应纳税所得额超过80000元 45% 13505 #个人所得税
personal_income_tax = 0
#个人所得税所在梯度
pIT_level=0
#计算个人所得税
if ((money_before_de_personal_income_tax > 1500) & (money_before_de_personal_income_tax < 4500)):
pIT_level = 2
personal_income_tax = money_before_de_personal_income_tax * 0.1 - 105
elif ((money_before_de_personal_income_tax > 4500) & (money_before_de_personal_income_tax < 9000)):
pIT_level = 3
personal_income_tax = money_before_de_personal_income_tax * 0.2 - 555
elif ((money_before_de_personal_income_tax > 9000) & (money_before_de_personal_income_tax < 35000)):
pIT_level = 4
personal_income_tax = money_before_de_personal_income_tax * 0.25 - 1005
else :
personal_income_tax=0
print "个人所得税: %s" %(personal_income_tax) #税后工资
net_pay = money_before_de_personal_income_tax - personal_income_tax + personal_income_tax_level
print "税后工资: %s" %(net_pay) print "--"
print "@@@@@个人所得税所在梯度level: %s" %(pIT_level)
#print "@@@@@应纳税所得额: %s" %(money_before_de_personal_income_tax)

打印:

D:\python>python calc_PersonalIncomeTax.py
个人所得税: 417.0
税后工资: 7943.0
--
@@@@@个人所得税所在梯度level: 3

【Python】个人所得税的更多相关文章

  1. Python - 计算个人所得税

    最近在学python,写了个计算个人所得税计算的脚本,分享. 以下为python3适用版本 #!/usr/bin/python # -*- coding: UTF-8 -*- # 该python脚本用 ...

  2. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  3. python学习笔记四——循环及冒泡排序

    3.3.3 break 和 continue语句 break:跳出整个循环 continue:跳出当前循环继续后面的循环 例: x=int(input("please input the ' ...

  4. 收集了一些python的文章

    来自: 戴铭 2010-08-31 17:52:31 newthreading - safer concurrency for Python 安全并发(1回应) http://www.starming ...

  5. Python学习笔记:个税起征点上调至5000,算一算少交多少税?

    一.旧税率表与新税率表比较 以前起征点是3500,2018年10月1日起起征点正式修改为5000,下面我们用Python来分别计算新旧个人所得税分别为多少? 二.旧的个人所得税 import sys ...

  6. Python程序设计实验报告三:分支结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.5     指导老师       修宇 [实验目的 ...

  7. 04 . Python入门之条件语句

    一. Python条件语句 Python条件语句是通过一条或多条语句执行结果(True或False)来决定执行的代码块. 可以通过下图简单了解语句的执行过程 Python程序语言指定任何非0和非空(n ...

  8. 二、Python流程控制练习题

    一.分支结构-if等 练习题: 练习1:英制单位与公制单位互换 练习2:掷骰子决定做什么 练习3:百分制成绩转等级制 练习4:输入三条边长如果能构成三角形就计算周长和面积 练习5:个人所得税计算器 练 ...

  9. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

随机推荐

  1. openxml(二) 添加页眉,页脚

    openxml 中 word 文档的结构是如下图: 其中,页眉是 header,属于headerpart 部件,页脚是footer,属于footerpart 部件,图上还有其他的东西,之后会一一介绍. ...

  2. Spring——jar包详解(转)

    Spring——jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spr ...

  3. C#如何通过Socket的方式获取httponly cookie

    正常情况下C#可以使用HttpWebRequest.HttpWebResponse和CookieContainer类来获取Cookie,但是当Cookie设置为httponly,我们就不能用上面的方法 ...

  4. rtc关机闹钟2 Alarm manager

    public void set(int type, long triggerAtMillis, long windowMillis, long intervalMillis, PendingInten ...

  5. js的规范写法ES5(自己以后按照这样写)

    1.引号的使用,单引号' ' 优先(如果不是引号嵌套,不要使用双引号) 正常情况:console.log('hello there')        双引号转码: $("<div cl ...

  6. NAND flash sub-pages

    http://www.linux-mtd.infradead.org/doc/ubi.html#L_subpage NAND flash sub-pages As it is said here, a ...

  7. jrebel注意事项

    -Xms2048m -Xmx2048m -XX:MaxPermSize=4096m -noverify -javaagent:C:\Users\Administrator\.IntelliJIdea2 ...

  8. Tableau10.0学习随记-分组问题

    1.根据官网的练习视频,分组时可多选列,之后使用回形针按钮创建分组,并重新命名即可,截图如下: 2.但在Tableau10中打开练习工作簿练习时,并没有直接显示分组后结果,仅仅是创建了分组的纬度,结果 ...

  9. 临界区 TRTLCriticalSection 和 TCriticalSection

    临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别 TRtlCriticalSection 是一个结构体,在windows单元中定义: 是I ...

  10. iOS常用方法

    1.磁盘总空间大小 + (CGFloat)diskOfAllSizeMBytes {     CGFloat size = 0.0;     NSError *error;     NSDiction ...