企业发放的奖金根据利润提成。
利润(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,计算可发的奖金?
思路分析
通过if语句分区间判断计算即可。
程序实现方法
直接通过if-elif-else结构进行判断即可,用户输入想应的数据后,程序自动匹配相应路径进行计算,判断结构如下所示,最后一个else判断的是用户的非法输入,比如输入的为字母等
if i <= 10: cash = i * 0.1 elif 10 < i < 20: cash = (i - 10) * 0.075 + 10 * 0.1 ...... else: print('输入有误')
为了灵活判断用户的输入,通过input接收用户的输入,然后用int转换为整形,最后对这个数进行判断
最后实现如下
将以上算法封装成一个方法main(),在主程序中调用
def main(): # Python资料源码电子书白嫖君羊:708525271 i = int(input('请输入当月的利润I(万元):')) if i <= 10: cash = i * 0.1 elif 10 < i < 20: cash = (i - 10) * 0.075 + 10 * 0.1 elif 20 <= i <= 40: cash = (i - 20) * 0.05 + 10 * 0.075 + 10 * 0.1 elif 40 <= i <= 60: cash = (i - 40) * 0.05 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1 elif 60 <= i <= 100: cash = (i - 60) * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1 elif 100 <= i: cash = ( i - 100 ) * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1 else: print('输入有误') print('可得奖金(万元)', cash)
主程序调用如下:
if __name__ == '__main__': main()
运行后结果如下
请输入当月的利润I(万元):25
可得奖金(万元) 2.0