最近在学python,写了个计算个人所得税计算的脚本,分享。

以下为python3适用版本

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 该python脚本用于计算税后工资

# 提示用户输入工资

sal = input("Please input your salary: ")

# 自定义一个异常

class MyException(Exception):

def __init__(self, *args):

self.args = args

try:

sal = int(sal)

if sal < 0:

raise MyException

except ValueError:

print("给劳资输一个整数,别带字母和小数! ")

except MyException:

print("你大爷的,工资是负数? ")

else:

# 计算社保和公积金以及扣除该部分之后的工资

shebao = round(sal * 0.105, 2)

gongjijin = round(sal * 0.07, 2)

aft_sal = sal - shebao - gongjijin

# 税率(这个没变)

sui_lv = [0.45, 0.35, 0.3, 0.25, 0.2, 0.1, 0.03]

# 税改前超出起征点各阶段工资

jin_e1 = [80000, 55000, 35000, 9000, 4500, 1500, 0]

# 税改后超出起征点各阶段工资

jin_e2 = [80000, 55000, 35000, 25000, 12000, 3000, 0]

# 起征点(调整前3500,调整后5000)

qizheng1 = 3500

qizheng2 = 5000

# 应缴税工资:税前工资-社保-公积金-起征点

yinjiao1 = aft_sal - qizheng1

yinjiao2 = aft_sal - qizheng2

# 定义计算所得税函数

# a应缴税工资,b超出起征点各阶段工资,c税率

def jisuan(a, b, c):

sum = 0

for i in range(0, len(b)):

if a > b[i]:

sum += (a - b[i]) * c[i]

a = b[i]

return round(sum, 2)

# 计算所得税

suodesui1 = jisuan(yinjiao1, jin_e1, sui_lv)

suodesui2 = jisuan(yinjiao2, jin_e2, sui_lv)

print(" 税前月收入: {}".format(sal))

print("五险一金: {}".format(shebao + gongjijin))

print("旧税率应纳税: {} 元,税后收入: {} 元".format(suodesui1, round(aft_sal-suodesui1, 2)))

print("新税率应纳税: {} 元,税后收入: {} 元 ".format(suodesui2, round(aft_sal-suodesui2, 2)))

--------------------------------------------------------分割线------------------------------------------------------------------------------------

以下为python2适用的版本

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 该python脚本用于计算税后工资

# 提示用户输入工资

sal = raw_input("Please input your salary: ")

# 自定义一个异常

class MyException(Exception):

def __init__(self, *args):

self.args = args

try:

sal = int(sal)

if sal < 0:

raise MyException

except ValueError:

print("给劳资输一个整数,别带字母和小数! ")

except MyException:

print("你大爷的,工资是负数? ")

else:

# 计算社保和公积金以及扣除该部分之后的工资

shebao = round(sal * 0.105, 2)

gongjijin = round(sal * 0.07, 2)

aft_sal = sal - shebao - gongjijin

# 税率(这个没变)

sui_lv = [0.45, 0.35, 0.3, 0.25, 0.2, 0.1, 0.03]

# 税改前超出起征点各阶段工资

jin_e1 = [80000, 55000, 35000, 9000, 4500, 1500, 0]

# 税改后超出起征点各阶段工资

jin_e2 = [80000, 55000, 35000, 25000, 12000, 3000, 0]

# 起征点(调整前3500,调整后5000)

qizheng1 = 3500

qizheng2 = 5000

# 应缴税工资:税前工资-社保-公积金-起征点

yinjiao1 = aft_sal - qizheng1

yinjiao2 = aft_sal - qizheng2

# 定义计算所得税函数

# a应缴税工资,b超出起征点各阶段工资,c税率

def jisuan(a, b, c):

sum = 0

for i in range(0, len(b)):

if a > b[i]:

sum += (a - b[i]) * c[i]

a = b[i]

return round(sum, 2)

# 计算所得税

suodesui1 = jisuan(yinjiao1, jin_e1, sui_lv)

suodesui2 = jisuan(yinjiao2, jin_e2, sui_lv)

print(" 税前月收入: %d" % sal)

print("五险一金: %.2f" % (shebao + gongjijin))

print("旧税率应纳税: %.2f 元,税后收入: %.2f 元" % (suodesui1, (aft_sal-suodesui1)))

print("新税率应纳税: %.2f 元,税后收入: %.2f 元 " % (suodesui2, (aft_sal-suodesui2)))

原文地址:https://www.cnblogs.com/ddzj01/p/9756101.html

python输入税前工资打印税后工资-python-计算个人所得税相关推荐

  1. 用python计算工资工资_python税后工资计算器

    介绍 重新实现上一个挑战中的个税计算器,可以计算并处理多人的工资并打印税后工资. 项目需求改变: 输出税后工资 计算过程需要扣除社会保险费用 支持多人同时计算工资 打印税后工资列表 个税计算公式: 应 ...

  2. python输入时间_【转】python 输入一个时间,获取这个时间的下一秒

    输入一个时间,获取这个时间的下一秒 PS:下面代码使用于 python 2.7 time1 = raw_input("输入一个时间[HH:MM:SS]:") time1List = ...

  3. python假设税前工资和税率如下_Python - 计算个人所得税

    十一有个好消息,就是个税有调整,写了个计算个人所得税的脚本,看看你省了多少 以下为python3适用版本 #!/usr/bin/python # -*- coding: UTF-8 -*- # 该py ...

  4. 用python输入名字并打印_python的输出与输入

    输出 用 print() 在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出 'hello, world' ,用代码实现如下: >>> print('hello, world ...

  5. python输入数字翻译成星期几-Python练习笔记——计算输入日期为改年的第几天、星期几...

    # 输入年月日,如:1995年12月10日,计算是该年的第几天? # 同时计算出当天是星期几? print("请依据提示依次输入您想查询的年 月 日") # 第一段代码块(年月日输 ...

  6. python输入end退出循环_4.学习python获取用户输入和while循环及if判断语句

    0x00 Abstract 在开发中为了增加程序与用户的互动性需要增加获取用户输入的功能,在python中可以使用input()函数来获取用户的输入.当获取用户的各种输入后,我们需要使用逻辑语句来对数 ...

  7. python 输入正方形_Python打印正方形

    示例1:#!/usr/bin/python # -*- coding: UTF-8 -*- # 根据输入打印 rows = int(raw_input('please input number:')) ...

  8. python输入的n打印n行杨辉三角_新手求教:请问怎样用python 显示杨辉三角,任意输入一个数N,输出一个N+1层的杨辉三角。...

    展开全部 我来试一下:32313133353236313431303231363533e78988e69d8331333337383338#!/usr/bin/python # coding:utf- ...

  9. Python输入一个奇数打印出菱形

    请输入打印行数(必须是奇数):5   *  *** *****  ***   * #coding=utf-8 s = int(input('请输入打印行数(必须是奇数):'))#打印的行数 x = 1 ...

  10. python输入一组身高_一起学Python系列之用户输入

    函数input(): 函数input() 让程序暂停运行, 等待用户输入一些文本. 获取用户输入后, Python将其存储在一个变量中, 以方便你使用. message=input("tel ...

最新文章

  1. 天价!一款芯片从设计到流片需要45亿!3纳米芯片研发成本曝光
  2. java怎么设有滚动的标签,html标签overflow属性和javascript实现div标签滚动
  3. 英雄联盟更新后服务器还在维护吗,英雄联盟今天维护到什么时候结束 11月12日停机更新维护公告...
  4. python time
  5. 几道比较有意思的js面试题
  6. 编译正确,运行ORB_SLAM3报错Segmentation fault
  7. matlab主要数据预处理函数,Matlab 神经网数据预处理的函数
  8. 一段简单的python代码_一个简单的python写的C/S程序
  9. 基线理解_使用递归神经网络的上下文口语理解论文阅读
  10. 数字信号处理实验(一)
  11. 新浪微博api接口java_新浪微博API(java版)
  12. java现代编译原理pdf脚本之家_详解编译器编译原理
  13. mysql8.0怎么设置中文版_mysql 8.0.21免安装版配置方法图文教程
  14. nginx 常见错误码_Nginx启动常见错误及解决方法
  15. 强驴分享北京最好玩儿的隐秘旅游地
  16. 益聚星荣|网络主播雪梨、林珊珊偷逃税被罚,2个月前已进行立案检查
  17. Bezier和B样条曲线
  18. python机器人库(robotics-toolbox-python)的运用
  19. Mybatis应用学习(4)——延迟加载
  20. uni-app调用百度语音播报

热门文章

  1. 四、文件信息 五、进程环境
  2. Leaflet制作专题图
  3. 新媒体运营与营销秘笈
  4. Audacity的替代品
  5. 比特精灵是计算机病毒吗,[病毒防治]靠,我居然也中木马?
  6. ZigBee入门之基础概念3
  7. 历史课-中国朝代发展
  8. android电量伪装原理,安卓电量伪装神器
  9. 读取yaml文件出现UnicodeDeco: ‘gbk‘ codec can‘t decode byte 0xaf in position 68: illegal multibyte sequen报错
  10. durango服务器维护,Durango狂野大陆连接服务器失败_九游手机游戏