相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率;税务的税费计算,不同的营收有不同的缴纳率;个人的提成,不同的销售额提成比率也不同,那么这些你是怎么计算的?
其实这是一道小学的计算题,但是他却运用到了我们生活的方方面面,以前我们都是靠手算来完成,其实Python简简单单的几行代码就可以实现智能计算,一起来看看吧!
案例
题目
企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
题目详述
第一行:arr = [1000000,600000,400000,200000,100000,0]
设置一个比较的区间值,从而确定利率
第二行:rat = [0.01,0.015,0.03,0.05,0.075,0.1]
设置对应的利率,做比之后在哪个范围就用哪个利率
第三行:for n in range(1,10):
创建一个从1到9的循环,赋值给n
第四行:i = int(input('%s、企业的净利润是多少:'%n))
设置企业净利润的输入,并且将它转换成整数形式,赋值给i
第五行:r = 0
定义一个变量r,用来记录最终计算的奖金总数,初始值是0
第六行:
for idx in range(0,6):
区间和利率都有6个,按照python规则,取左不取右,将下标赋值给idx
第七行:
if i>arr[idx]:
用输入的净利润依次和区间值做比,从满足条件处开始叠加
第八行:
r+=(i-arr[idx])*rat[idx]
叠加r的值
第九行:
i=arr[idx]
将区间下一位的值赋给i,用下边的利率进行叠加
进阶:
利用这个原理我们就可以简单的实现区间叠加效果是不是很便捷呢题解
先上代码~
效果
结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python也没有想象中的那么难!
———— e n d ————