个人所得税

# -*- coding: utf-8 -*-
"""
Created on Sat Apr 15 17:55:54 2017

@author: Administrator
"""

#!/bin/env python  

# author: zhouhh  

# email: ablozhou@gmail.com  

# date: 2008.6.17  

# 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)  
posted @ 2022-08-19 23:00  luoganttcc  阅读(23)  评论(0编辑  收藏  举报