个税问题的理解
题目 企业发放的奖金根据利润提成。利润(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=
rates=
for i in range(len(thresholds)):
if profit<=thresholds:
bonus+=profit*rates
profit=0
break
else:
bonus+=thresholds*rates
profit-=thresholds
bonus+=profit*rates[-1]
print(bonus)
这段代码要怎么理解啊...
希望能帮助到你:
profit=int(input('Show me the money: ')) # 输入当月利润
bonus=0 # 记录奖金
thresholds=# 利润区间列表,与下面的提成率 rates 列表对应,用于后面 for 循环判断你输入的当利润达到了哪些值
rates= # 用于对应上个列表,然后来对金额与提成率进行计算奖金
for i in range(len(thresholds)): # 这里大致的意思是用 for 循环遍历列表的位置参数
if profit<=thresholds:
#这里 if 判断当月利润是否小于当前循环到的利润区间,如果小于那么就直接进行计算,之后的 thresholds 利润值更不可能达到了,所以 break 退出循环
bonus+=profit*rates # 将剩余的金额全部乘以提成率后金额加入你的奖金中去
profit=0 #因为符合 if 条件,那么当月的利润不可能超过 100 万 ,而超出 100 万是在循环外部进行计算的,所以这里重新赋值为0
break# 退出循环
else:# if 条件不满足 说明你的利润大于当前循环到的利润列表对应的值
bonus+=thresholds*rates # 加上计算提成后的金额
profit-=thresholds # 因为这一部分利润计算完毕,所以我们要减去来准备下次计算下个区间的提成
bonus+=profit*rates[-1]# 这里当你如果钱未超出 100 万,profit 一定都等于 0 ,只有当你超出 100万时 才会有剩余
print(bonus)# 打印最后计算奖金结果
页:
[1]