解题思路:
如果没完没了怎么办?
我们构造一个函数,一个名为 `run` 的函数。
创建了一个列表 `ranges`,其中包含了多个元组。每个元组包含两个值,第一个值是利润上限 `limit`,第二个值是对应的提成率 `rate`。这些元组表示了不同的利润范围和对应的提成率。
`for limit, rate in ranges:`:这一行启动了一个循环,用于遍历 `ranges` 列表中的元组,其中 `limit` 表示利润上限,`rate` 表示提成率。
`if profit <= limit:`:这一行检查当前的利润 `profit` 是否小于或等于当前范围的上限 `limit`。
如果 `profit` 小于或等于 `limit`,表示当前范围足够覆盖利润,那么计算当前范围内的奖金,并将其累加到 `bonus` 中,然后使用 `break` 退出循环,因为已经计算完奖金。
如果 `profit` 大于 `limit`,表示当前范围不够覆盖全部利润,那么计算当前范围内的奖金,并将其累加到 `bonus` 中,然后从 `profit` 中减去当前范围的上限 `limit`,以便在下一次迭代中处理剩余的利润。
总之,这段代码用于根据不同的利润范围和提成率计算奖金,并最得出计算得到的奖金。
注意事项:
参考代码:
def run(profit):
x=100000
bonus = 0
ranges = [(x, 0.10), (x, 0.075), (2*x, 0.05), (2*x, 0.03), (4*x,0.015), (float('inf'), 0.01)]
for limit, rate in ranges:
if profit <= limit:
bonus += profit * rate
break
else:
bonus += limit * rate
profit -= limit
return bonus
profit = float(input())
result = run(profit)
print(int(result))
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)from DQM浏览:671 |
星期判断机 (C语言代码)浏览:859 |
蚂蚁感冒 (C语言代码)浏览:775 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:477 |
C二级辅导-等差数列 (C语言代码)浏览:821 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:492 |
班级人数 (C语言代码)浏览:927 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:459 |
简单的a+b (C语言代码)浏览:504 |