您的当前位置:首页正文

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

2020-11-27 来源:步旅网

这篇文章主要介绍了Python实现的个人所得税计算器,涉及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
显示全文