第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()
?
?