1. 程式人生 > >Python 分段利潤提成

Python 分段利潤提成

fun 題目 oat str body 輸入 1.5 利潤高 log

題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?

解法1:

lia = [0,100000, 200000, 400000, 600000, 1000000, float(‘inf‘)]
lir = [0.1, 0.075, 0.05, 0.03, 0.015, 0.01]
sa = 3000000

for i in range(7):
if lia[i] > sa:
out = (sa - lia[i-1]) * lir[i-1]
print(‘(%s - %s) * %s = %s‘ % (sa, lia[i-1], lir[i-1], out))
break

def fun(x, z=0) :
if x == 0:
return z
z += (lia[x] - lia[x-1]) * lir[x-1]
print(‘(%s - %s) * %s = %s‘ % (lia[x], lia[x-1], lir[x-1], (lia[x] - lia[x-1]) * lir[x-1]
))
return fun(x-1,z)

print(fun(i-1) + out)

運行結果

(3000000 - 1000000) * 0.01 = 20000.0
6
(1000000 - 600000) * 0.015 = 6000.0
(600000 - 400000) * 0.03 = 6000.0
(400000 - 200000) * 0.05 = 10000.0
(200000 - 100000) * 0.075 = 7500.0
(100000 - 0) * 0.1 = 10000.0
59500.0

Python 分段利潤提成