用代码实现:个人所得税每月交一次,底线是1600/月,也就是超过了1600元的月薪才开始计收个人所得税。个 人所得税税率表一(工资、薪金所得适用) 级数-………-------全月应纳税所得额……---税率(%) 1-------不超过500元的-. -超过500元至2000元的部分-………------10-超过2000元至5000元的部分-…………---15-超过5000元至20000元的部分………---20-超过20000元至40000元的部分-……----25-超过40000元至60000元的部分-……---30 7--……-----超过60000元至80000元的部分-……-----35 8-----------超过80000元至10000元的部分---------40 9-……------超过100000元的部分-…… 表中的应纳税所得额是指以每月收入额减除1600元后的余额。 要求:输入工资计算出纳税金额
时间: 2023-08-15 16:45:37 浏览: 69
好的,以下是用 Python 实现的代码:
```python
def calculate_tax(income):
# 底线是1600元
if income <= 1600:
return 0
# 全月应纳税所得额
taxable_income = income - 1600
# 税率表
rates = [(500, 0.1), (2000, 0.15), (5000, 0.2), (20000, 0.25),
(40000, 0.3), (60000, 0.35), (80000, 0.4), (100000, 0.45)]
tax = 0
for level, (threshold, rate) in enumerate(rates):
if taxable_income <= threshold:
tax += taxable_income * rate
break
else:
tax += (threshold - level * 500) * rate
taxable_income -= (threshold - level * 500)
return round(tax, 2)
```
函数 `calculate_tax` 接受一个参数 `income`,表示输入的工资。如果工资不足1600元,函数直接返回0;否则,根据个人所得税税率表一,计算出应纳税所得额,然后根据税率表逐级计算个人所得税,最后返回结果。注意,最后返回的税额需要保留两位小数。
例如,如果输入工资为8000元,可以这样调用函数:
```python
tax = calculate_tax(8000)
print("个人所得税:{}元".format(tax))
```
输出结果为:
```
个人所得税:1025.0元
```