任务描述
目前我国个人所得税计算公式如下:
应纳个人所得税税额= (工资薪金所得 -五险一金 - 个税免征额)×适用税率-速算扣除数
个税免征额为5000元/月,2018年10月1日起调整后,也就是2018年实行的7级超额累进个人所得税税率表如下:
全月应纳税所得额(含税级距) | 税率(%) | 速算扣除数 |
---|---|---|
x<3000 | 3 | 0 |
3000<=x<12000 | 10 | 210 |
12000<=x<25000 | 20 | 1410 |
25000<=x<35000 | 25 | 2660 |
35000<=x<55000 | 30 | 4410 |
55000<=x<80000 | 35 | 7160 |
x>=80000 | 45 | 15160 |
请编写一个个税计算器,用户输入为应发工资薪金所得扣除五险一金后的金额,输出应缴税款和实发工资,结果保留小数点后两位。当输入数字小于0时,输出“error”。
输入格式
输入一个表示工资的数值,例如12000.0
,此数值为已扣除五险一金后的金额。
输出格式
应缴税款490.00元,实发工资11510.00元。
示例 1
输入:
12000
输出:应缴税款490.00元,实发工资11510.00元。
示例 2
输入:
20000
输出:应缴税款1590.00元,实发工资18410.00元。
示例 3
输入:
-10
输出:error
代码实现:
def calculate_tax(salary):
if salary < 0:
print("error")
return
elif (salary==0):
print("应缴税款0.00元,实发工资0.00元。")
return
taxable_income = salary - 5000
if taxable_income<=0:
tax=0
elif taxable_income <= 3000:
tax = taxable_income * 0.03 - 0
elif 3000 < taxable_income <= 12000:
tax = taxable_income * 0.1 - 210
elif 12000 < taxable_income <= 25000:
tax = taxable_income * 0.2 - 1410
elif 25000 < taxable_income <= 35000:
tax = taxable_income * 0.25 - 2660
elif 35000 < taxable_income <= 55000:
tax = taxable_income * 0.3 - 4410
elif 55000 < taxable_income <= 80000:
tax = taxable_income * 0.35 - 7160
else:
tax = taxable_income * 0.45 - 15160
after_tax_salary = salary - tax
print(f"应缴税款{tax:.2f}元,实发工资{after_tax_salary:.2f}元。")
# 用户输入
salary = float(input())
calculate_tax(salary)
结果: