luck78 发表于 2021-12-2 15:05:37

习题

本帖最后由 luck78 于 2021-12-2 15:17 编辑

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

I = int(input('净利润:'))
profits =
rate =
bonus = 0
for index in range(len(profits)):
    if I > profits:
      bonus += (I - profits) * rate
      I = profits

print(bonus)

请问 8那一步,它是怎么确定 新的利润是之前相减的剩下的数字呢? (是因为 上一步 I -profits 这已经重新赋予了I 新的值然后传给了第8步吗?)

傻眼貓咪 发表于 2021-12-5 17:29:11

不用知道相减剩多少,因为是固定的,比如:

以小数目做假设:
利润小于等于 10 元,奖金 1%
利润大于 10 元,奖金 2%
问,如果利润是 14 元,共多少奖金?

14 元大于 10 元的部分是 4 元,那么 4*0.02 = 0.08
剩下的自然变成 10 元,10*0.01 = 0.1

0.08 + 0.1 = 0.18 元
页: [1]
查看完整版本: 习题