新版个人所得税计算python_个税起征点上调至5000,用Python算一算少交多少税
今天出了一個重磅消息,個稅起征點從3500上調到5000啦!
廣大IT農民工的生活壓力又減輕了一些,有沒有
晚上加一個雞腿,要不要~
開心歸開心,我們來用Python算一算,新的規則下,我們需要交多少稅,比原先少交多少稅。
下面的這張表是稅率表,這是對超過免征額部分的收入征收的稅率
這次調整的是免征額,之前是3500,現在是5000,稅率部分沒有發生變化。
我們用Python來寫兩個程序,一個計算舊的工資所得稅,一個計算新的工資所得稅。
下面的函數old_tax用來計算舊的所得稅
import sys
import bisect
def old_tax(salary):
if salary < 3500 :
return 0.0
above = salary - 3500
ranges = [ 0 , 1500 , 4500 , 9000 , 35000 , 55000 , 80000 ]
rate = [ .03 , .1 , .2 , .25 , .30 , .35 , .45 ]
i = bisect.bisect_left(ranges, above)
j = 0
tax = 0.0
while j < i:
if j+ 1 < i:
tax += (ranges[j+ 1 ]-ranges[j]) * rate[j]
else :
tax += (above-ranges[j]) * rate[j]
j += 1
return tax
下面的函數new_tax用來計算新的所得稅
def new_tax(salary):
if salary < 5000 :
return 0.0
above = salary - 5000
ranges = [ 0 , 1500 , 4500 , 9000 , 35000 , 55000 , 80000 ]
rate = [ .03 , .1 , .2 , .25 , .30 , .35 , .45 ]
i = bisect.bisect_left(ranges, above)
j = 0
tax = 0.0
while j < i:
if j+ 1 < i:
tax += (ranges[j+ 1 ]-ranges[j]) * rate[j]
else :
tax += (above-ranges[j]) * rate[j]
j += 1
return tax
下面是我們的主函數
if __name__ == "__main__" :
if len(sys.argv) < 2 :
print( "Usage: {} " .format(sys.argv[ 0 ]))
sys.exit( 1 )
salary = float(sys.argv[ 1 ])
old_tax = old_tax(salary)
new_tax = new_tax(salary)
print( "old: {}, new: {}" .format(old_tax, new_tax))
上面的代碼保存在tax.py中。
接下來,我們來用tax.py算一算不同工資水平的個稅
python3 tax.py 5000
old: 45.0 , new: 0.0
每月5000元的工資,以前要交45元的個稅,起征點上調到5000后,就不用交稅了。
python3 tax.py 10000
old: 745.0 , new: 445.0
每月10000元的工資,以前要交745元的個稅,現在只要445元,比原先少交300元。
python3 tax.py 20000
old: 3120.0 , new: 2745.0
每月20000元的工資,以前要交3120元的個稅,現在交2745元,比原先少交375元。
python3 tax.py 50000
old: 11195.0 , new: 10745.0
每月50000元的工資,以前要交11195元的個稅,現在交10745元,比原先少交450元。
python3 tax.py 100000
old: 29920.0 , new: 29245.0
每月10萬元的工資,以前要交29920元的個稅,現在交29245元,比原先少交675元。
大家可以復制一下代碼,算算自己可以少交多少稅。
總結
以上是生活随笔為你收集整理的新版个人所得税计算python_个税起征点上调至5000,用Python算一算少交多少税的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置失败还原请勿关闭计算机,win7系统
- 下一篇: websocket python爬虫_p