智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=906315a76b5c14231889351088713f76

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

程序分析:请利用数轴来分界,定位。

程序编写

bonus = 0
net_profit = int(input('净利润:'))
profit = [1000000,600000,400000,200000,100000,0]
rate = [0.01,0.015,0.03,0.05,0.075,0.1]
for i in range(0,6):
    if net_profit > profit[i]:
        bonus += (net_profit - profit[i]) * rate[i]
        net_profit = profit[i]
print ("总的奖金为:",bonus)
输出的结果

 

程序优化

bonus = 0
bonusratelist = [[100,0.010],[60,0.015],[40,0.030],[20,0.050],[10,0.075],[0,0.100]];
profit =  int(input('净利润(万元):'))
for i in range(0, len(bonusratelist)) :
    if (profit > bonusratelist[i][0]) :
        bonus += ((profit - bonusratelist[i][0]) * bonusratelist[i][1]);
        profit = bonusratelist[i][0];
 
print ("总的奖金为:",bonus * 10000);
输出的结果


————————————————
我们的python技术交流群:941108876
智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=364151fab9fb6e1b468f50b4d83afd42