题目6:企业发放的奖金根据利润(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:暴力破解
def profit(pf):
"""
"""
if pf<=10:
bonus = 0.1*pf
elif pf>10 and pf<=20:
bonus = 0.1*10 + 0.075*(pf-10)
elif pf>20 and pf<=40:
bonus = 0.1*10+0.075*10+0.05*(pf-20)
elif pf>40 and pf<=60:
bonus = 0.1*10+0.075*10+0.05*20+0.03*(pf-40)
elif pf>60 and pf<=100:
bonus = 0.1*10+0.075*10+0.05*20+0.03*20+0.015*(pf-60)
else:
bonus = 0.1*10+0.075*10+0.05*20+0.03*20+0.015*40+0.01*(pf-100)
return bonus
if __name__=='__main__':
pf=float(input("请输入当月利润(万元):"))
print("应发放奖金总数:{}万元".format(profit(pf)))
解法2
def profit(money):
"""
"""
bonus=0
arra = [100,60,40,20,10,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
for i in range(len(arra)):
if money>arra[i]:
bonus += (money-arra[i])*rat[i]
money = arra[i]
return bonus
if __name__=='__main__':
money=float(input("请输入当月利润(万元):"))
print("应发放奖金总数:{}万元".format(profit(money)))