【Python3】区间计算

4 阅读1分钟

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

profit=int(input('Show me the money: '))
# 初始化奖金为0
bonus=0
# 定义奖金阈值
thresholds=[100000,100000,200000,200000,400000]
# 定义奖金率
rates=[0.1,0.075,0.05,0.03,0.015,0.01]
# 遍历奖金阈值
for i in range(len(thresholds)):
    # 如果利润小于等于当前阈值
    if profit<=thresholds[i]:
        # 奖金加上利润乘以奖金率
        bonus+=profit*rates[i]
        # 利润置为0
        profit=0
        # 跳出循环
        break
    # 否则
    else:
        # 奖金加上当前阈值乘以奖金率
        bonus+=thresholds[i]*rates[i]
        # 利润减去当前阈值
        profit-=thresholds[i]
# 奖金加上剩余利润乘以最低奖金率
bonus+=profit*rates[-1]
# 输出奖金
print(bonus)