最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
吴江市| 曲阳县| 浙江省| 朔州市| 通渭县| 武城县| 灵寿县| 太仆寺旗| 密山市| 大丰市| 宁波市| 政和县| 平利县| 文成县| 池州市| 赤峰市| 景谷| 象州县| 桐乡市| 盈江县| 都安| 子长县| 崇州市| 永丰县| 辽阳市| 台中县| 贺州市| 招远市| 石家庄市| 永德县| 缙云县| 天峻县| 紫金县| 五原县| 水城县| 栖霞市| 吉首市| 化德县| 鄂托克前旗| 北川| 龙泉市|