国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Python編程算法【十三】 個(gè)人所得稅_簡化版

2022-09-19 21:14 作者:SPC編程愛好者  | 我要投稿

【案例內(nèi)容】

編寫一個(gè)計(jì)算個(gè)人所得稅的程序,要求輸入金額后,能夠輸出應(yīng)繳的個(gè)人所得稅。個(gè)人所得稅的征收辦法如下:
起征點(diǎn)為2000元。
不超過500元的部分,征收5%
超過500~2000元的部分,征收10%
超過2000~5000元的部分,征收15%
超過5000~20000元的部分,征收20%
超過20000~40000元的部分,征收25%
超過40000~60000元的部分,征收30%


【解題思路】

bisect是python的內(nèi)置模塊,它的原理是通過二分查找法,快速實(shí)現(xiàn)有序序列(如列表)的查找和插入。本題就用到它的查找功能。 以本題為例,可將超出的征稅金額的分界點(diǎn)放在列表里,比如:moneys = [0, 500, 2000, 5000, 20000, 40000, 60000, 80000, 100000] 再把各個(gè)稅率分界點(diǎn)也放在一個(gè)列表里,比如:tax = [0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45] 用變量 my_money 記錄用戶輸入的金額,用變量 ex_money = my_money - 2000 記錄超出2000的金額,當(dāng)然前提要先判斷 my_money 是否大于2000,如果大,則利用 bisect_left 的方法,在 moneys 列表中判斷 ex_money 在哪個(gè)分界點(diǎn)的左側(cè),并記錄下相應(yīng)的序號(hào)(index) 舉例來說:超出的金額,即 ex_money = 300,它在分界點(diǎn)500的左側(cè),因此序號(hào) index = 1;再比如,ex_money = 7360,它在分界點(diǎn)20000的左側(cè),因此 index = 4;以此類推 另外,如果超出的金額剛好是分界點(diǎn),比如600000,由于用的是 bisect_left 方法,所以也在分界點(diǎn)60000的左側(cè),即序號(hào) index = 6 拿到序號(hào)后,再配合上 tax 列表,不就可以輕松計(jì)算出相應(yīng)的稅費(fèi)了嗎?


【Python代碼】?

扣除2000后,超出金額的稅費(fèi)

當(dāng)然本題的解法,比較簡單粗暴,只是把超出2000的金額,直接參照題目相應(yīng)的扣稅條件,看看符合哪個(gè)稅率條件,然后算出稅費(fèi)就結(jié)束了。實(shí)際上是要將超出起征點(diǎn)的金額,算出在每個(gè)征稅范圍內(nèi)應(yīng)繳納的稅費(fèi),然后再全部累計(jì)起來,得到最后應(yīng)繳納的稅費(fèi)??闪舸o讀者朋友們進(jìn)一步實(shí)踐。本題更主要的是向大家展示 bisect 模塊的便利與高效之處,它能提高有序數(shù)組中查找某一數(shù)據(jù)的執(zhí)行效率。

Python編程算法【十三】 個(gè)人所得稅_簡化版的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
淮南市| 偃师市| 连江县| 嵊州市| 雷波县| 绥化市| 宣武区| 会同县| 星子县| 台中市| 奈曼旗| 弥勒县| 临武县| 张家口市| 江西省| 娄烦县| 扶风县| 全南县| 墨江| 巴东县| 新晃| 高青县| 延安市| 盱眙县| 贺州市| 定兴县| 边坝县| 西乌珠穆沁旗| 肇源县| 阆中市| 西藏| 富裕县| 上犹县| 浦县| 横山县| 三江| 杭锦旗| 陇西县| 巴里| 南丹县| 兴仁县|