企业发放的奖金根据利润提成。利润(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: 万元'))
bonus=0
thresholds=[0,10,20,40,60,100]
rates=[0.1,0.075,0.05,0.03,0.015,0.01]
for i in range(1, len(thresholds)):
if profit < thresholds[i]:
bonus += (profit-thresholds[i-1]) * rates[i-1]
break
else:
bonus += (thresholds[i]-thresholds[i-1]) * rates[i-1]
else:
bonus += (profit-thresholds[-1]) * rates[-1]
print(bonus)
为什么把从 0 到 10W 到 20W 到 40W 到 60W 到 100W 最后大于 100W的区间设置成了
10 -- 10 -- 20 -- 20-- 40呢
这其中的数学逻辑有点没懂,感谢各位大神解答!
profit=int(input('Show me the money: 万元'))
这个代码说明了,单位是万元呀,最后得到的结果,如果要转换为元的话,乘以1万就是了。
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632