Python實現企業發放獎金總數

2021-10-22 09:35:04 字數 2405 閱讀 5132

企業發放的獎金根據利潤提成。利潤(i)低於或等於10萬元時,獎金可提10%;

利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;

20萬到40萬之間時,高於20萬元的部分,可提成5%;

40萬到60萬之間時高於40萬元的部分,可提成3%;

60萬到100萬之間時,高於60萬元的部分,可提成1.5%,

高於100萬元時,超過100萬元的部分按1%提成,

從鍵盤輸入當月利潤i,求應發放獎金總數?

這其實是乙個簡單的數學問題,首先看輸入的金額,然後根據對應的條件進行計算即可,

比如利潤為 122萬元 那麼獎金 的計算式如下:

bonus =(122-100)x0.1+(100-60)x0.015+(60-40)x0.03+(40-20)x0.05+(20-10)x0.075+10x0.1=4.17萬

這個問題有很多解法,目前我給出兩個

解法一:

使用while巢狀if語句的方式實現

print

("please enter the profit i of this month! and the unit is ten thousand yuan"

)i =

float

(input()

)bonus =

0while

(i):

if i <=10:

bonus += i*

0.1break

elif i<=20:

bonus +=

(i-10)*

0.075

i -= i-

10#減掉已經算過的可提成部分,進入下一階段進行計算

elif i<=40:

bonus +=

(i-20)*

0.05

i -=i -

20elif i<=60:

bonus +=

(i-40)*

0.03

i -=i-

40elif i<=

100:

bonus +=

(i-60)*

0.015

i -=i-

60else

: bonus =

(i-100)*

0.01

i -=i-

100print

(bonus)

解法二:

僅僅使用if語句來實現,不難發現,無論算多少錢,只要把屬於某個區間的可提成部分算完,說剩下的就小於這個區間的所有區間的滿額提成,比如 36.6萬 16.6 萬的提成為16.60.05,剩下的就是 20萬,它是整數,10-20區間提 100.075 0-10區間提 10 *0.1。所以在計算的時候只要把最高區間的提成計算出來,再加上其他低區間滿額提成即可。(滿額的意思是 比如在20-40區間 那麼它的滿額提成就是最大值的提成,即在給區間的利潤為40)

print

("please enter the profit i of this month! and the unit is ten thousand yuan"

)i =

float

(input()

)bonus =

0if i <=10:

bonus = i*

0.1elif i<=20:

bonus =

(i-10)*

0.075+1

elif i<=40:

bonus =

(i-20)*

0.05

+1.75

#1.75=10*0.075+ 1

elif i<=60:

bonus =

(i-40)*

0.03

+2.75

#2.75=20*0.05+10*0.075+ 1

elif i<=

100:

bonus =

(i-60)*

0.015

+3.35

#3.35=20*0.03+20*0.05+10*0.075+ 1

else

: bonus =

(i-100)*

0.01

+3.95

#3.95=40*0.015+20*0.03+20*0.05+10*0.075+ 1

print

(bonus)

解法三:用到列表,未完,待續……

本文的題目**於菜鳥教程的python100例-2,本人使用的編譯平台是pycharm community edition 2020.2.1 x64

028 python 企業發放獎金題目

題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬...

演算法提高 企業獎金發放

企業發放的獎金根據利潤提成。利潤低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬元到60萬元之間時高於40萬元的部分,可提成3 60萬到100萬之間時,高...

演算法提高 企業獎金發放

企業發放的獎金根據利潤提成。利潤低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬元到60萬元之間時高於40萬元的部分,可提成3 60萬到100萬之間時,高...