【Python 练习实例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,求应发放奖金总数?
Demo1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
i = int(input('Pls input your profit:')) if i <= 100000: bonus = i * 0.1 elif 200000 >= i > 100000: bonus = 100000 * 0.1 + (i - 100000)*0.075 elif 400000 >= i > 200000: bonus = 100000 * 0.1 + 100000 * 0.075 + (i - 200000) * 0.005 elif 600000 >= i > 400000: bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (i - 400000) * 0.03 elif 10000000 >= i > 600000: bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (i - 600000) * 0.015 elif i > 1000000: bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (i - 1000000) * 0.01 print(bonus) |
Demo2:先计算超出部分的提成,再把剩余部分乘以相应的比例得出结果
1 2 3 4 5 6 7 8 9 10 11 12 13 |
i = int(input('Pls input your profit:')) level = [1000000, 600000, 400000, 200000, 100000, 0] rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1] bouns = 0 for a in range(6): if i > level[a]: # 获取利润所在的区间,并计算超出部分可以获得的提成 bouns += (i - level[a]) * rat[a] # 计算剩余部分可获得的提成 for b in range(a + 1, len(level)): bouns += level[b - 1] * rat[b] print(bouns) break |
输出:
1 2 |
Pls input your profit:120000 11500.0 |