最近在学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. 自定义Button防止重复提交
  2. 读CopyOnWriteArrayList有感
  3. ubuntu系统中samba服务器搭建
  4. assembly plugin实现自定义打包
  5. HDLBits答案(6)_硬件模块设计的思考方式
  6. ASP.NET MVC 笔记
  7. ovirt 双机_ovirt kvm嵌套虚拟化
  8. Linux设备中的并发控制
  9. python入门基础2 if语句 while循环 for循环
  10. 用php动态创建图像,php利用imagecreatetruecolor动态生成高清图片代码
  11. Spring源码之FactoryBean接口的作用和实现原理
  12. wincc与第三方软件opc通讯_运用OPC实现WinCC与西门子SIMOTION的通讯
  13. html插入视频快捷键代码,pr添加关键帧的快捷键是什么?
  14. 二维码生成器微信小程序源码
  15. windows 下删除EFI分区方法
  16. Protoss and Zerg(快速幂)
  17. 抖音评论怎么引流?商家如何利用抖音评论区
  18. 后羿采集器怎么导出数据_免费爬虫工具:后羿采集器如何采集同花顺圈子评论数据...
  19. CAD偏移尺寸出问题该如何解决?
  20. 鲁大师发布2022半年报手机UI排行榜:vivo OriginOS成为最流畅UI

热门文章

  1. unity运行时修改光源的颜色,变成白色
  2. CDH环境HDFS权限问题
  3. 释放docker日志所占空间
  4. FreeRTOS死机原因
  5. Activity实战之装备购买小案例
  6. ‘VBE6EXT.OLB’ 不能被加载
  7. selenium2 WebDriver 在asp.net项目中的应用
  8. 物联网智能家居有哪些应用
  9. 关于虚拟主机那点事儿
  10. 虚拟主机终极选购指南