(头歌作业—python)3.2 个人所得税计算器(project)

第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元。

python 复制代码
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()
    
相关推荐
kruptos2 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
吴声子夜歌2 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
benchmark_cc3 小时前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库3 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H3 小时前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒4 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP4 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
2601_962382434 小时前
python快乐编程网络爬虫课后答案
python·网络爬虫·学习工具·课后答案·刷题app
鹏哥带你干乡墅5 小时前
优选乡墅赋能培训平台如何帮助提升乡村建设?
大数据·人工智能·python
江畔柳前堤5 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native