第1关:个人所得税计算器
def income_tax():
"""
用户输入应发工资薪金所得、五险一金金额和个税免征额,输出应缴税款和实发工资,
结果保留小数点后两位。当输入数字小于 0 或等于 0 时,输出“error”。
实发工资 = 应发工资 - 五险一金 - 个人所得税
建议使用以下变量名:
salary:每月应发工资薪金
insurance_fund:五险一金
exemption:个税免征额
educted_amount:速算扣除数
测试用例
输入(冒号前是提示性文字,冒号后的数字为用户输入)
请输入应发工资薪金金额:16000
请输入五险一金金额:4000
请输入个税免征额:5000
输出
应缴税款 490.00 元,实发工资 11510.00 元。
"""
# 获取用户输入
try:
salary = float(input())
insurance_fund = float(input())
exemption = float(input())
except ValueError:
print("输入不合法,请输入有效的数字。")
return
# 检查输入是否合法
if salary <= 0 or insurance_fund < 0 or exemption <= 0:
print("error")
return
# 计算应纳税所得额
taxable_income = salary - insurance_fund - exemption
# 根据应纳税所得额计算应缴税款
if taxable_income <= 0:
tax = 0
elif taxable_income <= 3000:
tax = taxable_income * 0.03 - 0
elif taxable_income <= 12000:
tax = taxable_income * 0.1 - 210
elif taxable_income <= 25000:
tax = taxable_income * 0.2 - 1410
elif taxable_income <= 35000:
tax = taxable_income * 0.25 - 2660
elif taxable_income <= 55000:
tax = taxable_income * 0.3 - 4410
elif taxable_income <= 80000:
tax = taxable_income * 0.35 - 7160
else:
tax = taxable_income * 0.45 - 15160
# 计算实发工资
net_salary = salary - insurance_fund - tax
# 输出结果,保留两位小数
print(f"应缴税款{tax:.2f}元,实发工资{net_salary:.2f}元。")
if __name__ == '__main__':
income_tax()