练习2

作者: 梁老施 | 来源:发表于2018-04-09 17:29 被阅读0次

题目:企业发放的奖金根据利润提成。利润(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

相关文章

网友评论

      本文标题:练习2

      本文链接:https://www.haomeiwen.com/subject/xqvihftx.html