题目:企业发放的奖金根据利润提成
利润 p 低于或等于 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% 提成。
用户从键盘输入当月利润 p,求应发放奖金总数?
分析:请利用数轴来分界,定位,注意定义时需把奖金定义成长整型。 解法1:很简约,但是不符合一般的数学思维逻辑
i = float(input())
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
p = 0
for idx in range(0,6):
if i > arr[idx]:
p += (i - arr[idx]) * rat[idx]
i = arr[idx]
print("{:.2f}".format(p))
解法二:
def test2(money):
if money <= 100000:
print (money*0.1)
elif money <= 200000:
print (10000+(money-100000)*0.075)
elif money <= 400000:
print (17500+(money-200000)*0.05)
elif money <= 600000:
print (27500+(money-400000)*0.03)
elif money <= 1000000:
print (33500+(money-600000)*0.015)
elif money > 1000000:
print (39500+(money-1000000)*0.01) 作者:鱼C-小甲鱼 https://www.bilibili.com/read/cv9754421/ 出处:bilibili
|