题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
程序分析:
I(当月利润)
Bonus(奖金)
get_Bonus((I/10000)*10000)
I<=10万
Bonus=I*0.1
10<I<=20
Bonus=(I-10)*0.075 +get_Bonus(10)
20<I<=40
Bonus=(I-20)*0.05+get_Bonus(20)
40<I<=60
Bonus=(I-40)*0.03+get_Bonus(40)
60<I<=100
Bonus=(I-60)*0.015+get_Bonus(60)
I>100
Bonus=(I-100)*0.01+get_Bonus(100)
代码如下:
def get_bonus(I):
if I<=10:
bonus=I*0.1
elif 10<I<=20:
bonus=(I-10)*0.075+get_bonus(10)
elif 20<I<=40:
bonus=(I-20)*0.05+get_bonus(20)
elif 40<I<=60:
bonus=(I-40)*0.03+get_bonus(40)
elif 60<I<=100:
bonus=(I-60)*0.015+get_bonus(60)
elif I>100:
bonus=(I-100)*0.01+get_bonus(100)
return bonus
if __name__== '__main__':
I=float(input("请输入当月利润"))
S=get_bonus(I / 10000)
print('当月的奖金为',S*10000)
结果
请输入当月利润800000
当月的奖金为 36500.0
网友评论