上期我们用穷举法编写了不重复的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))
程序执行效果如下:
下期:
数字排序