第1关:个人所得税计算器
任务描述
本关任务:编写一个个人所得税计算器的小程序。
相关知识
个人所得税缴纳标准
2018 年 10 月 1 日以前,个税免征额为 3500 元/月,调整后,个税免征额为 5000 元/月, 7 级超额累进个人所得税税率表如下:
全月应纳税所得额(含税级距) 税率(%) 速算扣除数
不超过3,000元 3 0
超过3,000元至12,000元的部分 10 210
超过12,000元至25,000元的部分 20 1,410
超过25,000元至35,000元的部分 25 2,660
超过35,000元至55,000元的部分 30 4,410
超过55,000元至80,000元的部分 35 7,160
超过80,000元的部分 45 15,160
所得税计算公式如下:
应纳税额 = (工资薪金所得 - 五险一金 - 个税免征额) × 适用税率 - 速算扣除数
请编写一个个人所得税计算器,用户输入应发工资薪金所得、五险一金金额和个税免征额,输出应缴税款和实发工资,结果保留小数点后两位。当输入数字小于 0 或等于 0 时,输出 error。
其中:实发工资 = 应发工资 - 五险一金 - 应缴税款
编程要求
根据提示,在右侧编辑区补充代码,计算并输出个人所应缴税款和实发工资,输出的数值四舍五入保留2位小数。
测试说明
平台会对你编写的代码进行测试:
输入格式:
输入为三行,每一行一个浮点数,分别代表应发工资、五险一金、个税起征点。
输出格式:
输出为一行,形如:应缴税款 490.00 元,实发工资 11510.00元。
输入:
5400
412
5000
输出:
应缴税款0.00元,实发工资4988.00元。
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 = 0elif taxable_income <= 3000:tax = taxable_income * 0.03 - 0elif taxable_income <= 12000:tax = taxable_income * 0.1 - 210elif taxable_income <= 25000:tax = taxable_income * 0.2 - 1410elif taxable_income <= 35000:tax = taxable_income * 0.25 - 2660elif taxable_income <= 55000:tax = taxable_income * 0.3 - 4410elif taxable_income <= 80000:tax = taxable_income * 0.35 - 7160else:tax = taxable_income * 0.45 - 15160# 计算实发工资net_salary = salary - insurance_fund - tax# 输出结果,保留两位小数print(f"应缴税款{tax:.2f}元,实发工资{net_salary:.2f}元。")if __name__ == '__main__':income_tax()