练习2

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容