python基础算法合集(4)企业奖金提成问题

上期我们用穷举法编写了不重复的3位数并统计这样的数有多少个。

本期,我们要解决的数学问题是企业发放奖金问题。

问题如下:

企业发放的奖金根据利润提成:
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;

我们要求:

由用户输入净利润,然后有程序判断要发多少奖金。

这题实际上是区间问题:小于10万是一个区间、10到20万是一个区间(同时,大于10万的部分可提7.5%)、20万到40万是一个区间(同时,大于20万的部分,可提成5%)、40万到60万是一个区间(同时,大于40万的部分,可提成5%),

那么,大于10万、大于20万、大于40万奖金的发放是有两个部分构成一是小于10万的部分按10%算、大于10万的部分按7.5%算将这两者相加才是发放奖金的总数,后面的大于20万和大于40万都是同样的算法。程序如下:

'''
企业发放的奖金根据利润提成:
利润(I)低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
'''
i=int(input('请输入净利润'))
sum=0
if i<=100000:
    sum=i*(1/10)
elif 100000<i<200000:
    sum=i*(1/10)
    i=i-100000
    sum=int(sum+i*(1/7.5))
elif 200000<i<400000:
    sum=i*(1/10)
    i=i-200000
    sum=int(sum+i*(1/5))
elif 400000<i<600000:
    sum=i*(1/10)
    i=i-400000
    sum=int(sum+i*(1/3))
print('应发奖金{}'.format(sum))

程序执行效果如下:

下期:

数字排序

猜你喜欢

转载自blog.csdn.net/weixin_43115314/article/details/113932736