鱼C论坛

 找回密码
 立即注册
查看: 1228|回复: 1

习题

[复制链接]
发表于 2021-12-2 15:05:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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 = [1000000,600000,400000,200000,100000,0]
rate = [0.01,0.015,0.03,0.05,0.075,0.1]
bonus = 0
for index in range(len(profits)):
    if I > profits[index]:
        bonus += (I - profits[index]) * rate[index]
        I = profits[index]

print(bonus)

请问 8那一步,它是怎么确定 新的利润是之前相减的剩下的数字呢? (是因为 上一步 I -profits[index] 这已经重新赋予了I 新的值然后传给了第8步吗?)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 元
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 16:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表