Python实现的个人所得税计算器示例

yipeiwu_com5年前Python基础

本文实例讲述了Python实现的个人所得税计算器。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
"""
Created on Sat Apr 15 17:55:54 2017
@author: Administrator
"""
#!/bin/env python
# author: zhouhh
# email: ablozhou@gmail.com
# money.py
def money(all_salary,has_welfare,has_housing_fund):
 money = all_salary
 bj_average_salary=3322;#in 2008 using average salary of year 2007
 min = bj_average_salary*0.6
 max = bj_average_salary*3
 welfare_fund = all_salary
 if all_salary > max:
  welfare_fund = max
 if all_salary < min:
  welfare_fund = min
 print("total money=%.2f"%all_salary)
 medical_fund=welfare_fund*0.02+3
 retire_fund=welfare_fund*0.08
 unemploy_fund =welfare_fund*0.005
 if not has_welfare:
  welfare_fund = 0
  medical_fund=0
  retire_fund=0
  unemploy_fund =0
 else:
  print("medical fund = %d*0.02+3=%.2f"%(welfare_fund,medical_fund) )
  print("retirement fund = %d*0.08 =%.2f"%(welfare_fund,retire_fund) )
  print("unemployment fund = %d*0.005=%.2f"%(welfare_fund,unemploy_fund ))
 housing_fund=welfare_fund*0.12
 if not has_housing_fund:
  housing_fund = 0
 else:
  print("housing fund = %d*0.12=%.2f"%(welfare_fund,housing_fund))
 all_welfare_fund=medical_fund+retire_fund+unemploy_fund +housing_fund
 print("all welfare fund=%.2f"% all_welfare_fund)
 money -=all_welfare_fund
 before_tax = money
 print("before tax money =%.2f"%before_tax )
 if before_tax < 2000 :
  print(" you have no tax,you own money=%.2f"%before_tax)
  return before_tax
  #after 2008.3.1 tax
 l1=500*0.05 #2000-2500, %5
 l2=1500*0.10 #2500-4000 %10    +=25
 l3=3000*0.15 #4000-7000 %0.15   +=175
 l4=15000*0.20 #7000-22000 %20   += 625
 l5=20000*0.25 #22000-42000 %25  +=3625
 l6=20000*0.30 #42000-62000 %30  +=8625
 l7=20000*0.35 #62000-82000 %35  +=14625
 l8=20000*0.40 #82000-102000 %40 +=21625
 l9=0           # +=29625
 money -=2000
 tax=0;
 if money<500:
  l1=money*0.05
  tax=l1
  print("you are in level 1,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 500
 if money<1500:
  l2=money*0.10
  tax=l1+l2
  print("you are in level 2,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 1500
 if money<3000:
  l3=money*0.15
  tax=l1+l2+l3
  print("you are in level 3,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 3000
 if money<15000:
  l4=money*0.20
  tax=l1+l2+l3+l4
  print("you are in level 4,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 15000
 if money<20000:
  l5=money*0.25
  tax=l1+l2+l3+l4+l5
  print("you are in level 5,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 20000
 if money<20000:
  l6=money*0.30
  tax=l1+l2+l3+l4+l5+l6
  print("you are in level 6,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 20000
 if money<20000:
  l7=money*0.35
  tax=l1+l2+l3+l4+l5+l6+l7
  print("you are in level 7,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 20000
 if money<20000:
  l8=money*0.40
  tax=l1+l2+l3+l4+l5+l6+l7+l8
  print("you are in level 8,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
  return before_tax-tax
 money -= 20000
 l9=money*0.45
 tax=l1+l2+l3+l4+l5+l6+l7+l8+l9
 print("you are in level 9,tax =%.2f, you own money=%.2f"%(tax,(before_tax-tax)))
 return before_tax-tax
money(10000,0,0)

运行结果:

total money=10000.00
all welfare fund=0.00
before tax money =10000.00
you are in level 4,tax =1225.00, you own money=8775.00

PS:这里再为大家推荐几款相关的在线计算工具供大家参考:

在线个人所得税计算器(2008版):
http://tools.jb51.net/jisuanqi/tax_calc

在线个人所得税计算工具(2011版):
http://tools.jb51.net/jisuanqi/tax_jisuanqi

在线银行按揭贷款计算器:
http://tools.jb51.net/jisuanqi/anjie_calc

在线存款计算器:
http://tools.jb51.net/jisuanqi/cunkuan_calc

在线投资理财计算器:
http://tools.jb51.net/jisuanqi/touzilicai_calc

在线养老保险缴存/养老规划计算器:
http://tools.jb51.net/jisuanqi/yanglao_calc

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python 自定义装饰器实例详解

本文实例讲述了python 自定义装饰器。分享给大家供大家参考,具体如下: 先看一个例子 def deco(func): print("before myfunc() calle...

使用pygame写一个古诗词填空通关游戏

使用pygame写一个古诗词填空通关游戏

之前写的诗词填空的游戏支持python2,现在对程序进行了修改,兼容支持python2和python3,附下效果图。 下面是两个主程序 idiom_lib.py代码: # -*-...

python matplotlib画盒图、子图解决坐标轴标签重叠的问题

python matplotlib画盒图、子图解决坐标轴标签重叠的问题

在使用matplotlib画图的时候将常会出现坐标轴的标签太长而出现重叠的现象,本文主要通过自身测过好用的解决办法进行展示,希望也能帮到大家,原图出现重叠现象例如图1: 代码为:...

Python json模块dumps、loads操作示例

本文实例讲述了Python json模块dumps、loads操作。分享给大家供大家参考,具体如下: python中json数据的使用。 dumps和loads也是需要成对使用的,就像c...

Python的Django框架中从url中捕捉文本的方法

每个被捕获的参数将被作为纯Python字符串来发送,而不管正则表达式中的格式。 举个例子,在这行URLConf中: (r'^articles/(?P<year>\...